oF SINCLAIR COMPUTERS
The Sinclair QL
~a 32 bit CPU Powerhouse!
& > THE 288 unper2 is.
A Computer Without Compromise
The TS-2068 Worktoxse
fd dd a
E UPI 1
DATE Magazine
1317 Stratford Ave.
Fanaa City FL 32404 I Tel 904 871 3556
NEws AnD NEw Propucts
A Christmas Wish for
[] SPECTERM—64(TS—4.1)
300/1200 Terminal Software for T/S2068
On JLO, AERCO, Larken disk or tape.
Only $25.00 + $2.50 S&H
i] Z2-SI/0 Bare Boards
RS-232c Serial Interface for T/S2068
With EREE 2050 card
Only $24.50 + $2.50 S&H
OR BOTH FOR ONLY
#50.00 inc. S&H
( Ourewe 48 commauous states, $6.50 St)
LARKEN Disk Hardware:
[ ] LARKEN Disk Systen
Includes LARKEN Floppy Disk Interface, LKDOS (v3)
Cartridge, Operating Manual and LKDOS Utiities’ Disk.
Only $120.00 + $5.00 S&H
[ ] LADOS Cartridge for JLO
Specially configured LKDOS (v.3) Cartridge that
works with your JLO SAFE Disk hardware. Includes
Operating Manual and LKDOS Utilities’ Disk.
Oniy $65.00 + $3.50 S&H
[ ] LARKEN Randisk
led. You can add up
No BAM chips are included
to 256K to this Nonvolatile Ramdisk. Easy to use
as a floppy disk with LKDOS,
Only $60.00 + $3.50 S&H
This
[] Tandon TM1G1-4 Quad
Disk Drives
These disk drives are brand new in factory
sealed cartons. They are double sided,
double density, 96 tpi (quad), full height
drives. They are compatible with JLO,
LKDOS, AERCO and QL disk systems.
$45.00 4+ $6.00 S&H
Buy 2, Get FREE Drive Cable!
Buy 3, Get 4th for Half Price!
Buy 4, Get One Disk Drive FREE!
{ ] Cable (2dr)..512.50+52.50 S&H
Hayes Compatible MODEMS
{ J] Avatex 2400 (3/12/2400)....5179
For CP/M, IBM and other systems.
For T/S2068 (w/ Z-SI/O) and QL.
{ ] Avatex 1200<P> (S00/P00).... 55
<P>ocket size for the Z68.
( ] Avatex 100<E> (300/100)... 565
Great for SPECTERM-64
Epson Compatible PRINTERS
{ ] Seikosha 1200A! (120/25)..$199
{ ] Seikosha 180AI (100/20)..5169
{ 2 Star NX1000 (144/34)....$229
All modems add $3.50 for S&H, all printers add
$10.00 for S&H (Canada double S&H on all items).
is brought to you by:
Christmas Wish List
Ed Grey Enterprises
P.O. Box #2186, Inglewood, CA 90305
Info >> 213-759-7406 << Order
Call The Grey Matter BBS & REP/H (213-971-6260)
INDEX
UPDATE OCTOBER 1988 ISSUE
General Information CLUBS
Disk Libraries 4 Boston Computer Society
Y 27
Flea tarket ; 70 CCATS Portland, OR 25
Invitation to Writers 48 Milwaukee, WI TSUG 33
Issue Disks 6, 72 SINCUS, New York 8
rertiaactead User Group a eek canada SUG re
7 28e 12 Vancouver, Canada TSUG 17
Supply Support 15, 70-73
Writer's Format 43
ADVERTISING RATE SCHEDULE--— page 77
2X APPEAL 17
SINCUS NEWS 8
PLOTTER 25
BoSTUG 27
SINC-LINK 33
QUx 40, 17
UPDATE SOFTWARE LIBRARY-~----page 74
TS-2068 Articles and Subjects QL Articles and Subjects
Align Decimals ll ARCHIVE Tutorial 56
Color Screens Copy 9 _ Address File Program 44
Disk Multi Mgr (Oliger) 21 Arithmetic for Kids 64
Extra Memory Recap 49 Beginner Course 30
Extra Memory, Charles Bothner 50 CABLE Column 56
Graphics LPRINT 25 CABLE ISSUE DISK/MDV CART 69, 72
Hex Printer Dump 25 COPY MDV Cartridge 23, 31
INfeger Function 11 HELPER, Super Basic Tool Kit 63
Interface for Color Copy 9 Initializing SPEED SCREEN 23
LPRINE CHR$ 25 Initializing TK2_ 23
MAX DOS 3 Stacked DOS's 2 Microdrive Formatting 23, 30
MSCRIPT for LKDOS 34 PRINT Primer 32
ON ERR Tutorial 14 QL Tips 23
OPEN}, CLOSE#, Streams 36 . QUILL, Configure printer 31
Ckimate 20 Printer 9 QUILL, File Saver 29
PRINT USING 11 QUILL, LLISTing with 31
Round Numbers UP ll RAM EXTENSION 19
TOS DISK with 0S-64 13 REFIELD, a Major Software 60
Telecomput ing 41 SCAN, an ARCHIVE Software 65
Test Printer ° 25 Sound Experimentor 18
TAX Software to beat Deadline 15
TELECOMPULTING 17, 41
TELECOMPUTING with PACKET 42
3 TOOL KIT 2 28
UPDATE MAGAZINE TRUMP: Card ocronet 1388
HOW GOES IT, UPDATE??
UPDATE Magazine launches into the next
four years of publishing with near 100%
renewals of subscriptions, and a flood of
new subscribers. Most gratifying are the
many favorable comments and good wishes
received with the subscription renewals.
Actually, subscribers more than trippled
since the last issue. It is difficult to
take score of QL users and TS~2088 users.
Around 2/3 of the subscribers are QL
owners, but half of them also own a
TS-2068. :
MAX DOS Versas the IBM MS DOS
Versas QL DOS
In past writings I've kinda given the |
IBM PC abit of criticisms, mainly to
re-assure the TS-2068 and QL users that
they really aren't missing much by not
having a IBM Compatable machine. AND, we
need to feel good about what we are
doing! A letter cane in from a2
suoscriber who was one of the original
designers of the IBM operating system.
He ask for anonymity, so I will quote
only half of his letter:
“Dear B11], Enclosed please find my
1989 renewal. Unfortunately I do not run
any of the disk systems that you support,
however, the organization and the quality
of the articles in Update are well worth
the price. I have invested so much of
myself into SPO0S, using many of the
system components, that I cannot_ face
even evaluating another system. I am,
however, beginning to worry about
equipment failures. If you hear of any
MILLENNIA K disk systems available I
would appreciate a call. I could also
use a disk drive case with power supply
for two 5.25" drives.
I was pleased to note your reaction to
MS DOS.: In 1965 we were similarily
concerned about 03/360 (similiar
Philosophy) then being developed for the
main frame family. Two others and I
built the prototype virtual
cperating system at IBM Cambridge
Scientific Center.
(8086)
INTEL has built a Virtual
Machine Facility into thetr 80386 chip ©
(Intel 231252~001) which now seems to be
UPDATE MAGAZINE
machine -
supported by VM/386. Perhaps when this
is’ expanded to use paging and allow
YM/386 to run under VM/386 I may desert
the 2068 for purely personal reasons.
(Signature) "
To the writer, and others interested:
Thanks for_ your comments. The CUYAHOGA
VALLEY SOFTWARE WORKS, 615 School Ave,
Cuyahoga Falis, OH 44221, isa croup of
users and programmers using SPDOS and the
Millennia K Disk system. The address
given is that of Thomas Simon, one of the
leaders of the group. This group has
developed SPDOS on disk to load into and
operate with the TS-2068 Oliger Disk
System. SPDOS loads to RAM and is
co-resident with the Oliger 00S,
Providing two disk formats and 8
“combined” DOS Tool Kit Janguage
structure, much more Powerful than either
The nice part for Oliger Disk owners
is that no additional hardware is needed,
All they need todo jis order the SPDOS
Disk ($29.95 from address given).
The nice part for the Millennia K
SPOOS users is that the Oliser disk
system provides a new “hardware home" for
SPOOS, where all of their existing
software disks can be loaded and used in
an even more capable environment than
that of Millennia K.
So Friend, dont give up the ship, Just
adi the Oliger Disk, which is less
expensive than an IBM controller card,
and you will continue to be comfortable
using SPDOS. Aliso I appreciate your nice
comments and your agreement with the
Position I take on MS-DOS. There are not
too many who are willing to “buck the
tide" and tell] it like it is, in the face
of the "MS DOS Compatability fraud" that
the industry has perpetrated upon the
public. People actually develop an
infertority complex over not having a
“18M Compatable” computer! By the way—~
why dont you do some articles for UPDATE?
We could benefit form your expertise. The
next subJect broadens upon this
discussion.
MAX DOS: (Reference article in UPDATE,
July 88 issue for backround). I have
continued to use the Oliger DOS and
4 OCTOBER 1988
OCTOBER 1988
armen
Larken 00S together, and have
experimented with stacking SPDOS "on top
of both", THREE Disk Operating systems
together. Actually the Larken DOS and
SPOOS have many of the same functions.
So there is not a great difference in the
capabilities of “Stacked Oliger/Larken"
“and "Stacked Oliger/SPDOS", so we could
dub the two "MAX DOS L" and "MAX DOS S*
So, I will continue to discuss MAX DOS
as the como of “Oliger OOS Hardware
interface", and the “LARKEN LKDOS Dock
Cartridge". I have been operating with
this combination of hardware for the past
several months, hardly ever bothering to
remove the cartridge or the Oliger B
board. A couple of months ago I received
a "loaner B board" from John Oliger.
This one has a “EPROM OFF" switch, which
my earlier board did mot have. The
significance of this added switch in_the
MAX DOS environment is that the LARKEN
NMI functions will work when the OLIGER
EPROY is switched OFF. BUT, to use the
QLIGER NMI functions, you must remove the
LKDOS Cartridge. Now we need to convince
Larry Kenny to give usa little switch
modification to his LKDOS cart to do the
same, in order to allow the OLIGER NMI
functions to work as well.
Otherwise, MAX 00S is indeed a very
Powerful DOS, despite the minor NMI clash
« Now I dont want this to sound like
criticism, sowill lead in with with
compliments. The LKDOS EXTRA BASIC
functions are SUPER! AND, so are the
Oliger Extra Basic functions. When
operating in the MAX DOS environment, one
can use ALL of BOTH system's extra basic
tool kit functions. The nice part is
that the LKDOS functions are speeded up
by the OQliger system's faster disk
operation. This extra speed is most
noticable when popping in screens from
disk, MERGING in program seoments,
bringing in data files from disk and
saving data to disk.
The OPTIMUM disk drive situation is
TWO drives. me drive is used for
DISCRETE Oliger DOS use, and the other is
for DISCRETE LKDOS use. Each are
“assigned their drive number" by either
Programing in software or by direct
commands. EXAMPLE: LET/d=0 would assign
drive zero as an OLIGER DISK. AND-
UPDATE MAGAZINE
UPDATE MAGAZINE
TT a
PRINT #4:GO TO 1 - would assion disk i as
a LKDOS disk. From then on, the system
“remembers”, and a LKDOS disk command
automatically accesses DRIVE 1, or a
Oliger DISK command will access disk
zero.
But that sounds like we have two
separate disk systems, which we have-.
We can load and operate disks that have
been produced by anyone's Lerken or
Oliger system. And, we can Format and
Prepare disks in either Larken or Oliger
disk formats. BUT, we also have a
COMBINED SYSTEM. Programs may contain
ary combination of DOS commands. Boot a
screen in from the Oliger disk, or save a
file to the Larken disk. Programs that
contain BOTH DOS DISK commands may be
SAVED to either disk. AND, the operator
does not even need to think about which
disk will be operating. A Disk Command
in the software will sutomatically use
the proper disk, as designated by the
previous LET/d= and the PRINT #4:GO TO.
MAX DOS opens up tremendous Power for
Programmers to use, employing all of the
comand functions of two disk operating
systems in one or more programs to
command two disk drives. The software
can be controlling up to nearly 2 mega
bytes of disk capacity (2 80 track
drives). Good planning can result in
“programs in one disk and Data in the
other disk" and keeping the program disk
write protected. SO- whether MAX DOS is
Larken 00S, or SPDOS- combined with the
Oliger system, it is one tremendous Disk
Operating Systen. All we need is for
more TS-2068 users to discover this.
THE Q& DOS
The SINCLAIR QL. DOS jis excellent.
Nobody needs to feel inferior about using
the Q@. I look at it this way. How many
IBM's have you seen that have a pair of
additional fast tape drives? It is made
even more powerful by the BIG Tool kit
functions available in _ ROM cartridges,
TRUMP CARD, and SANDY BOARD. Disk Orive
works with the QL with nothing more than
a Controller card, same es any other
system, but it is less expensive than any
other. Memory expansion is also less
expensive. Do we need IBM Compatability?
3 OCTOBER 1988
TS-2068 and SINCLAIR QL
ISSUE DISKS and MICO DRIVE DUBBING
The Issue Disk program for the TS-2068
will be carried on for support of the QL
users, but with a small difference.
TS-2068 programs and utilities given in the
UPDATE pages are actual listings given for
those who want to try keying in the
listings. Some are quite long and keying
in may not be very practical. Yet they are
there to try. QL utilities will be listed
for key-in also. But the software programs
for the QL are generally just too long for
practical key in projects and the listings
would take up too much page space. These
long QL programs will be written up as
“Mini Manuals" in UPDATE. Although, this
issue has one complete (but short) QL
software "Mail Merge" that will be listed
as a key in project. So, whether the QL
programs are listed or not will be
determined by their program length.
The ISSUE DISK for the TS-2068 programs
will include all of the software and
utilities of a given issue. The QL Issue
Disk will be variable, and will include at
least one major software and the utilities
given in the pages of the current issue.
Sometimes there will be two issue disks for
the QL users in one magazine issue. It
just depetids upon the program lenght and
applications of the software.
PRICING: All Issue Disks for both
computers will be priced at $20.00. This
is an increase of $4.00 over past TS-2068
disk price because UPDATE was not breaking
even at $16.00 each. UPDATE supplies the
disks, does the recordings, pays the
mailing expenses, amd shares half of the
proceeds of issue disk sales with the
authors of the programs. It really isa
non-profit situation for the magazine and
the authors don't realize more than a token
payment for their support of us all.
MICRO DRIVE ISSUE Recordings: Due to
the higher price of the cartridges and
their scarcity, UPDATE will provide Issue
Dubbing service. Those who want the
programs and utilities may send in a
FORMATTED MOV cartridge and it will be
returned with the Issue programs recorded.
"Formatted" is emphasised because if the
UPDATE MAGAZINE
user formats the cartridge first, he is
assured that the cart will take the
programs and there will be no mail delays.
The price for MDV dubbing will be the same,
$20.00 per named Issue Disk.
UNCONDITIONAL GUARANTEE: Subscribers
may be sure that these programs on disk or
mdv are worth the price or more. If not
not completely satisfied, the user may keep
the disk or cartridge and just ask for full
refund. Sometimes a software program may
require more documentation than UPDATE can
accommodate in the issue pages. PAPER
documentation and the mailing of paper is
expensive, and the author may need to
charge extra for an extensive manual.
These instances will be announced.
Documentation within a disk or micro drive
is a much better method, where text can be
illustrated with screen examples, and the
text sent to a printer.
COPYRIGHTS
Unless specifically stated, all programs
presented in UPDATE magazine are the
property of the individual authors and are
protected by copyright. The authors give
their limited permission for publication in~
UPDATE Magazine and for the distribution of
recorded copies to the purchasers of the
Issue Disk series. No other sale or
transfer of these programs are authorized
by anyone or any other publication. Some
Programs and utilities may be donated to
public domain by specific statements made
by the author within the text of the
programs presented in the magazine. In the
absence of such statements, the programs
are priviledged.
MICRO DRIVE V/S DISK: Both mediums are
excellent. A huge software may be recorded
on disk, but to use micro drive, such a
program would need to be broken down into
several individual segments, as is the four
PSION sofwares. By the same token, an
un-expanded QL can run large programs that
are broken down in "boot in segments".
Most large programs presented in UPDATE
will have two.versions, one for disk and
another for micro drive. All programs
presented will work on = standard QL
computers, but some may have annexes to
expand into extra memory.
OCTOBER 1988
OCTOBER 1988
QL SUPPORT IN THIS ISSUE
Remember that UPDATE questionare? Well,
a tabulation reveals much about the QL
user's equipment and desires. About 60% of
present user have un-adorned QL computers—
no memory expansion, and micro drive only
as a storage device.: The other 40% have
disk and extra memory. Of the group, about
70% say that they need beginner level
programming information, tips, and
utilities to use. The 30% minority ask for
more sophisticated information about disk
drive, trump card tool kit programming,
more advanced software, conversion of IBM
MS DOS software, and other hi brow stuff.
UPDATE will try to accommodate all. This
issue begins a feature article titled,
“THE QL BEGINNER COURSE". This series will
go on "forever". I guarantee that it will
because I'm the author. If you'll follow
this series you will learn how to program
the QL, and how to get the most out of the
four PSION Softwares. You'll learn it as I
learn it, because I am a novice on the QL.
But better stay up with each issue or
you'll get behind! I'm a mean and lean
TS~2068 programmer and learning the QL will
come naturally. So, start with me in this
issue and progress with me.
MEET some QL Programmers
Bill Cable, Wood and Wind Computing,
RR-2 Box 92, Cornish, NH 03745 (tel 603 675
2218). I lead right off with a plug! This
is because I want you to know Bill. I want
you to know all of our supporters, dealers,
and publishers. Bill Cable is one of them
extraordinary programmers who specializes.
Bill is a QL dealer who developed a
customer base of businesses, selling QL
computers to medium and small business
people, and then supporting them with
custom software. Needless to say, his feet
were cut from beneath when Sinclair stopped
production and support of the QL. I om
sure that all QOL users will encourage Bill
Cable to turn his programming efforts to
support the users. This issue brings in
one of Bill's outstanding softwares,
titled “REFIELD". This software is
designed to augument the PSION ARCHIVE to
make it infinitely more flexible and
powerful. REFIELD is presented in versions
for both Floppy disk and for Micro Drive,
and will occupy one of the two October
UPDATE MAGAZINE
UPDATE MAGAZINE
Issue Disks. REFIELD will also be offered
for Micro Drive Dubbing. See the last page
of this issue for details.
NEXT, another well known author and
programmer has invaded the QL Group. Bob
Hartung has been a regular writer and
programmer for UPDATE since it's first
issue, but doing TS-2068 articles. Bob
continues to write and program for the
TS-2068 while producing for the QL as well.
Thats kinda like alternating between both
seats of a bicycle built for two while its
rolling down hill. Now get this! Bob's
"QL ADDRESS FILE" software, given in this
issue, is designed so that it works in
three different computers, the QL, the
TS-2068, and with Beta Basic in the
Spectrum. QL Address File is designed as a
simple program that works independently.
and is an excellent one to tackle as a
key-in project. Whatever, this one will
also be offered on disk and for micro drive
dubbing. See the last page for ordering
information.
BOB DIGGS KV3Q, a HAM Radio Operator,
has been tackling the QL and its problems
associated with Telecomputing, only on a
little different tack, with PACKET. This
gave me a_ chance to open up the subject,
"Telecomputing". Hope others join in to
cover Telecomputing in detail.
Finally, several re-prints of QL
articles fron the various Sinclair User
Clubs are given in this issue. One of the
very best paths to learning computers is to
join a User Club, and participate. This
way, one meets folks who have like
interests in computing. Friendships are
formed and telephone numbers exchanged so
that help is but a few feet away at your
telephone. Some travel over a hundred
miles one way to attend User Group Club
meetings and benefit greatly from the
association. The idea is to form a
“special interest group” of QL users within
the special interest Sinclair Club. Then
you get together and exchange information
and tips, swap public domain software, and
copy programs from the club library. This
issue brings information about several live
wire clubs, and samples some of their
newletter articles. If there is not a club
listed near to your home, call me and I'll
put you in touch with one.
OCTOBER 1988
we
SINCUS PROGRAMS
Time Designs did the Timex Sinclair users
an excellent service by producing an up to date
listing of all Sinclair Timex Clubs, listing all
Club publications, and rating them on a scale of
fron 1 downward. SINCUS NEWS, 1229 Rhodes Road,
Jomson City, NY 13790 copped FIRST PLACE.
Subscription is $8.00 per year (underpriced).
SINCUS provides more service to both members and
non members than just a good newsletter. See
clips below.
SINCUS OFFERINGS:
RENEW or Subscribe to SINCUS NEWS for
$8 per year. Send in a Mailing label of
either UPDATE, Time Designs, or Syncware
news and receive and extra issue of Sincus
News FREE, added to your subscription.
(Offer ends 12-31-88)
SINCUS TAPE/DISK LIBRARY: Write for
details (An OUTSTANDING BARGAIN- UPDATE
RECOMMENDS! ed)
SINCUS "Computus Interruptus"- a 63
page programming manual by Wes Brzozowski.
(UPDATE rates this as EXCELLENT) Comes in
two forms~ a paper manual for $10 member or
$12 non member of SINCUS. or, a disk in 40
or 80 track Oliger or Larken Format- $5
member, or $6 non member of Sincus.
SINCUS CLONE:- TS-2068 tape copier- $6
for tape and documentation.
The SEP/OCT issue of SINCUS NEWS is in and
contains some very interesting stuffin. The
Editor gave UPDATE MAGAZING some very
appreciated praise, for which I thank him for
profusely. BUT- he didn't get everything right!
He said that UPDATE is “virtually a one man
show", Actually, about 75% of the red meat
pages in UPDATE is contributed by GUEST WRITERS.
(Count umi) The Editor does a few new utilities
and rambles on in editorials to give the UPDATE
its personality.
Without the generous participation of
expert writers, UPDATE would be just a little
nothing newsletter. ‘The editor realizes that
some folks just don’t like OPINIONS expressed in
editorials, so pages are piled on to make up for
editorial verbosity. So, Paul, Thanks, but
stand corrected. UPDATE is a "participating"
magazine, and owes its reputation to the writers
of fine articles, programs, and utilities.
UPDATE MAGAZINE
The North American Sinclair Society
Now to slip out of the third person: Paul
Hill, editor of Sincus News, has some darn good
ideas about consolodation of publishing efforts
into ONE MONTHLY Magazine which would encompass
all existing publications and all Club
Newsletters. Tt's a good idea, Paul. What is
lacking is "Management Control", so that such a
publication would not become a "Sinclair
publishing monopoly", setting advertising rates
up to unfair prices, and reducing page (red
meat) content down to minimal in order to make
higher profits. But still, it is a good idea to
pursue. I would invision a Sinclair Timex
publication that would be managed and controlled
“by the user group".
WHAT USER GROUP? There is no organized
user group. ENTER "Lhe North American Sinclair
Society", or soma such named organization. The
Florida Groups coined "SNUG" which everyone has
trouble breaking down into prose. But WHATEVER,
we need a PARENT ORGANIZATION of Sinclair Timex
user groups of North America. ONLY When such a
parent group is formed can there be concerted
effort to do things for the good of all. This,
I believe is where all of the present User Group
officials should be working and coordinating. A
North American Group wont be formed without such
coordination amongst the existing strong clubs.
TI cannot form a North American Group.
Neither can Tim Woods, or the other publishers.
We do not represent anyone. But, we stand by to
lend our support. You present officials of
Clubs DO represent people. Why dont you
establish direct coordination between Clubs and
form the North American Group? vote ina
management board of officers who will operate as
a Senate to form up the charter and by-laws.
Use the existing publications as tools for
publicity membership drive, and COMMIT your own
club members en-mass to become members of the
North American Group,
THEN, when the North American Group is
fully formed and has establised a sense of
directions, it will be time to explore the idea
of a Single Publication, of ample size, to
become the voice of Sinclair Timex Computing in
North America. Membership in the Parent Group
should carry with it a subscription to the Group
publication. UPDATE Magazine will cooperate if
the interests of the subscribers are guaranteed
to be fulfilled. So there you are. A gauntlet
has been throm to the Officials of our current
Sinclair Timex Clubs. Who will accept the
challange and assume leadership for
coordination? Its your move now.
OCTOBER 1988
OCTOBER 1980
JPDATE MAGAZINE
EARL V DUNNINGTON
4356 KING THEODORE DR.
BOYNTON BCH.) FL 33436
PHONE .487732-6219
® SCREEN COPY IN FULL COLOR AND MORE! !
A REVIEW BY EARL DUNNINGTON
John McMichael has done it again! That
is improved the capability of our 2048's by
developing software that will make a full
color or black and white screen COPY) when
used with his interface, the OKIMATE 20
color printer, and the Okimate Commadore
Plug and Print module.
He has also developed two other pro~
grams for this hardware, A Patch for Jack
Dohnay’s MSCRIPT revisions V5/V5.2 and a
machine code OKI-DRIVER program that
supports the LLIST and LPRINT commands.
Each program is on a separate tape and were
$ 8.95 each.
The Screen Copy program requires that
lhe screen be saved on tare with the SAVE
“nane” SCREENS command or the equivalent
SAVE “name” CODE 16384,6712 command. The
options allow you to specify color or black
and white, small or large size, the
horizontal position on the paper, and the
number of copies to be made. After the
specified number of copies has been made,
you can again enter your choice of options
and either use the sawe screen or load a
new one. The small size produces a screen
copy 1.55" by 1,25". The large size is
3.15" by 2.55". Approximately 30 copies
can be made with each Color Ribbon”.
(3 5.65) using the large size.
The black and white screen copy using
the black ribbon is much darker than that
produced by the 2040 printer. However
there is no shading for the different
colors like that produced by Zebra’s
Z-PRINT @0 or like a color screen viewed on
a green screen monitor. Due to this the
color copy is a vast improvement, even
though a large black of paper color only
characters reproduces somewhat unevenly,
the colors being slightly darker along the
horizontal juncture of each character line
with another. The individual pixels are not
apparent to the naked eye. For testing, I
used the third color screen from Knighted
Computers "NIGHT GUNNER" (c) Digital
- Integration. It has the following colors:
whitey black, greeny yellow, blue, cyany
and red. I consider the rendition of the
ink colors, excellent. The instructions are
UPDATR MAGAZT NF
also excellent.
As I do not have Jack Dohany’s revised
versions of MSCRIPT, I can not comment on
the Patch program, other than the
instructions seem very complete.
Thd OKI-DRIVER program is strictly
machine code. It loads in starting at
address 64974 and is 494 bytes in length.
The program is compatable with the Larken
DOS V3 and the Larken 256K RAM DISK. It is
also compatable with the Zebra FDD 3000
with TOS. As written the code is nat re~
locatable and therefor is not compatable
with the Zebra 0S-64 cartridge or any other
program using two display files. In
addition to supporting LLIST and LPRINT
there are options for sending printer
control codes with support for LPRINT onlus
switch the character transposition off,
and switch backand forth from the big
printer to the 2040. If the 2040 is also
connected you can always use COPY. The
options and switches are made using RAND
USR commands. There are eight 2068
character codes that will print as
Commadore characters?
92 Always
95 Always
96 “Always
123 ‘Always’
124 In printer control code mode
° 125 Always
126 In printer control code mode
127 Always
The instructions for using the program are
excellent and quite complete, The utility
of the program would be greatly enhanced by
fronting the code with a BASIC loader and
code mover program to adjust the internal
dumps and the calls to any location
desired.
The McMichael interface emulates a
Commadore serial port. It was originally
developed for use with the 2068 and the
Commadore four color pen 1520 plotter. The
interface can be purchased as bare board
($14), a kit with all parts ($20), or
assembled ($30). I ordered the kit. As I do
not have the Oliger expansion board, I also
OCTOBER 1988
OCTOBER 1988
ordered the edge connector ($4.95). The
documentation is excellent and I had no
difficulty in assembly. Do not worry if you
think you may have a solder bridge between
pins 8 and 9 of U3. They are supposed to be
connected.
The OKIMATE 20 ($136) is an 80 column
"State of the Art", square 24 pin, NLQy
dot matrix, thermal color printer, It uses
color or black thermal ribbon cassettes.
Thermal paper without a ribbon cassette can
also be used (4-80 foot rolls $16). The
footprint is about 13" x 7" and is about
2" high. A tractor is built in for paper
with sprocket holes. Single sheets can also
be used. A serrated plastic edge is built
in for tearing roll thermal paper. The
printhead is removable for cleaning or re~
placement ($21,995) by the quner. The over~
all quality of construction appears to be
excellent and it is very quiet when print~
ing. There are printer control codes for
draft quality, character size (Pica, Elite,
Fine, double width), Italics, Super and
Subscripts, underlining, reverse printing,
form feed, carriage return, line spacing,
starting position, skip over perforations,
and graphic modes.
The printer documentation, registra~
tion form, a color ribbon cassette, a black
ribbon cassette, computer paper, a order
form for supplies, and the plug in printer
wodule are all contained in the Okimate
Commadore Plug and PrinT package (#79.95).
Dip switches in the module allow you to use
different international character sets.
T consider this, for the price (total
about $270) one of the best full size
printer systems available for the 2068. It
could be improved by a color screen program
that would produce a printout twice the
present large size. The prices quoted are
approximate.
The OKIMATE 20 and the Conmmadore Plug
and Print module can be purchased at TOYS R
US; Service Merchandise, and Sears. Some
mail order computer supply houses also
carry them. Check the ads in Commadore
magazines, Compute, and the Computer
Shopper.
Send a legal size SASE to!
John McMichael; 1710 Palmer Dr.y Laramie
WY 82070 :
for an order form and price list. If you
enclose one dollar he will also send a
sample color screen copy.
UPDATE MAGAZINE
UPDATE MAGAZINE
probetetareteretatelolatonitetetetetetstatetetetetetsteteteteteel
8 =
- NIGHT |
io x
> a
_ GUNNER |
& a
S BY 2
% Red. SWIFT x
e @ CIGITAL INTEGRATION 19a x
a
Se, teeny
NIGHT GUNNER IS LOADING
inn : is SUtet: pene
fo: © DtSttAL tNTEGRAT ION 1883.
Ssbon
Editar's note: Two screen copies were supplied, one
@ B&W and another in full color. These are reproduced
below if full size. Unfortunate a BSW copy cannot do
Justice to the color screen so I will describe it. The
darge print “NIGHT GUNNER’ is in Cyanide on a bright
red background. The smaller print below is white, as
ig the fancy border. The two bombers and ships below
are in bright yellow on a blue background. The knight
with pointed rapier is sketched in white. “Night gunner
is loading" is black print with green background. The
colors and contrast are vivid, about what you would see
on screen, but with with no gaps between dram pixel
dines. Focus is sharper than a screen image. "NIGHT
GUNNER" stands out on its background in a way that
Jooks three dimensional. This is the same size screen
copy as we are used to with other softwares. I would
suspect that if the printer could be put into an
expanded mode that the print out would cover a darger
area, as does other screen dumps. Only one gripe and
thats against Digital Integration; "What respectable
Air Force paints their aircraft YELLOW?"
10
OCTOBER 1988
VALUBEK L988
THE ROUND UP
AN UPDATE PROGRAMMING TUTCRIAL
This is a program designed for UPDATE
to demonstrate several abilities of dealing
with numbers. FIRST, the "INI" function
"ROUNDS DOWN" figures. All businesses do
the opposite, ROUNDING UP to the nearest
cent. This can make a busy department_ store
quite a few dollars during a day's opeation.
Next, PRIN USING is a ROM routine used
with some computers to "Format a Column of
Figures". Mr. Sinclair left PRINT USING out
o£ his Sinclair Basic ROM. But anything
that a ROM routine can do can also be done
by programming in RAM. Here we use a little
routine that simulates a PRINT USING
function to print the dollar sign, then
print a column of figures with decimal
points aligned. Also, Zerces are added when
necessary.
The use of INP (INTEGER) in math
calculations to assign the resultant toa
variable causes errors. The error is only
in the assignment to the variable. The
“Floating Point Calculation" has the right
value “in there somewhere", but a small
fraction is lost when INT is used ina
calculation. EXAMPLE: try this group of
direct commands: <LET a= 1.0954><LET b=INT
a> <LET c=INE (100000*(a-b)) > <PRINI c>.
Floating point calc drops a tiny fraction
that can be troublesome. LINE number 9710
uses a little "floating point k factor" of
+0001 and then adds .005 for "rounding up"
to the nearest cent.
Line 9712 adds a whole number if a
round-up changes 99 cents to $1.00. Then
the integer number and the decimal fraction
are assigned to a$ and b§ for printing.
This is because the TS-2068 prints decimal
numbers as "0.4", "0.25", which is not
convenient to print directly. The "SIR$"
function transfers a numeric value into a
literal value to place ina string. Try
this EXAMPLE: <LET a=12> <LET a$=SIR$
a><PRINI a$>. Amazing, eh? Now lets go the
Opposite way: <LET a$="386"><LET a=VAL
aS><PRINT a>. Stupendous!! Mess around
this way with SIR$ and VAL, and you'll get
good at using numbers in both simple
variables and in string variables.
line 9718 does a bit of “String
Next,
Some of the odd presentations of
Slicing".
UPDATE MAGAZINE
UPDATE MAGAZINE
fractions may result in B$ being ".020". To
just present "cents", we chop off the last
"o", Lets try that separately now: <LET
b$=".020><PRINT bS$( TO 3) >. Oc: <LET
b$=b$( TO 3) ><PRINI b$>. Try several other
examples likes <LET b$="I LOVE THIS"><PRINE
b$><LET b$=b$( TO 6) ><PRINT BS>.
Next, line 9720 "sums" the figures, but
only IF x=l. In the beginning we LET x=0.
So, each input figure is summed as they are
typed in. When we want to present the sum,
we type "s" instead of a number. Back at
line 9700, the input of "s" instead of a
number gives us an error (unless variable s
has been assigned a number). The error
trips the first ON ERR GO TO 9800. Then at
line 9800, the ERR is RESET, a line is
drawn, and a dollar mark is printed. Then
the GO TO 9710 processes the SUM to be
printed.
Finally, line 9770 prints the figures,
with all decimals aligned at your TAB
setting. AS carries the WHOLE dollar value
and B$ carries the CENT value. Then line
9780 stops if the SUM has printed (x=1), or
line 9790 returns to pick up the next input .
number. ONE MORE line needs to be
discussed. LINE 9700 has a second <ON ERR
GO TO 9706>, which is the next line in the
program, "STOP" creates the error so that
the ON ERR programming is cancelled (no open
ON ERR to mess you up later).
{
Now thats a lot of programming
functions in a few short BASIC lines, and
likely less memory is used than if Sinclair
had put the routines in ROM and given us a
PRINT USING syntax to use. And, because it
is in BASIC programming in RAM, we can alter
it as needed to tailor the routine to our
needs. There are many ways you can modify
this utility to use as a SUB-ROUTINE in your
programs. Change PRINT to LPRINT in line
9790 to put it on paper. But if you just
want a “Column Adder", use it the way it is.
' 9680>REM [ THE ROUND-UP ]
( Summing of Columns }
{ PSEUDO PRINT USING ]
9690 CLS : LET x=0: LET t=0: LET
tb=25;
REM [ variables are "t=Total.
tb=tab. x=switch that
turns on by ERROR for
totalling. ]
9691
11
OCTOBER 1988
OCTOBER 1988
(9692 REM [ Lines through 9700
may be eliminated.
Then the input to
the routine would
be numbers assigned
to varable a.
9694 REM [ The Routine end is
line 9780. Change
line 9780 to RETURN
for Sub-routine use.
9697 REM
9700 ON ERR GO TO 9800: INPUT "K
ey in Number- or ""s"" for SUM
";as ON ERR GO TO 9706: STOP
9706 ON ERR RESET : IF t=0 THEN
PRINT TAB tb-5;"$";
9710 LET b=INT a: LET c=INT (100
*(a-b+.0001+.005)}: LET d=c/100
9712 IF c>99 THEN LET b=btl: LET
c=0: LET b§=".00"
9714 IF ¢>=0 AND c<l0 THEN LET b
=". O"+SIRS c
9716 IF c>9 THEN LET b$="."+SIR$
cHto"
9718 LET a$=SIR$ b: IF LEN b$>3
THEN LET b$=b${ TO 3)
9720 IF x=0 THEN LET t=ttbt(c/10
0)
9770 PRINT TAB tb~LEN a$;a$;b$
9780 IF x=1 THEN LET x=0: STOP
9790 GO TO 9700
9800 ON ERR RESET : PRINT TAB tb
743" “TAB tbh-6;"$"7.2 LET
xel: LET a=ts: GO To 9710
$500.00.
UPDATE October 1988
Sinclair 268
This is really a CLUB Issue of UPDATE
If the reader has concluded that UPDATE is plaggerizing
and stealing articles for the various Club newsletters,
then the objective ig missed completely. The reason for
the selected re-prints is to give samples of the excellent
material that is produced in these excellent club
publications. So, you get two benefits from these club
articles. First, you get the good articles to digest.
Second, you get a chance to savor the personality of the
clubs and the quality to expect in club publications.
Then, of course, you get the address to use to JOIN the
club or Subscribe to their newsletter. Actually UPDATE
has a bark of excellent NEW articles about the TS-2068 and
the QL, enough to fill at least the next five issues. The
Sinclair user groups need an influx of new members to
spark new life and direction. Especially, the clubs need
QL and TS-2068 members to join and form a special interest
group within the existing Sinclair special interest Club.
This is UPDATE"S way of helping to round up new members of
the Sinclair User Clubs. Unfortunately, space does not
permit the introduction of all clubs in one issue, but
we'll get rountuit in future issues.
wwe THE SINCLAIR 288 "lap top" COMPUTER ***
So far as I can tell, there are only praise and
enthusiasm coming from the owners of the Sinclair 28a.
Frankly, I dont like the term “lap top", as it seems to
have a connotation of “tinker toy” which demeans the
extraordinary capabilities of the 265. Lap tops come-in
many varities of both eize and price. Last week I looked
at a Mitchubitchi lap top which comes in at a measly
$4999.99 unit price. Then there are earlier lap tops
which didn't sell like hot cakes and are now priced below
(Read “not designed to user needs") .
We have several subscribers to UPDATE who already have the 288, and I suspect thet there will
be many more on December 26.
subscriber and a Z88 Dealer, has just about fini:
become a best seller to the Z89 group.
for this little and powerful computer.
to load any software, even though you can if you wiah to”.
ever need for normal business or home is already in the
"It is not possible to
“Tt will print to any printer. 4 ! q
“The spread sheet capabilities are fantastic and easy to use." ‘The
few keys".
the 288.
the nearest printer".
memory add ons can reach 3 mega bytes, plus any
operates automatically".
built in EPROM which
whether the computer is on or off". 3
be changed without the computer memory losing any data".
Why not, the Z88 will fit intoa Christmas stocking! Mike Fink, a
ished a new "Z88 Instructional Manual" which will
Now Mike has built up a real head of steam (enthusiasm)
I'll Quote some of his sentences: "You will never need
“All of the amg that you'll
computer and available by the touch of a
design or build a better word processor than ia built into
Just pull the cable out of your pocket and plug into
ramber of insertable memory cards". "It has a
“It holds data in memory forever,
“It operates on inexpensive pen light batteries which can
“The 288 is truly the most versatile
combination of computer design, function, and portability, in the World at this time".
As I said, Mike Fink ie an enthusiastic 788 Dealer. 80 0
UPDATE welcomes and will publish a detailed review of the Sinclair
we cannot exactly call him un-biased.
788 FROM AN OWNER ONLY. We
need to know from the horse's mouth more about this new Sinclair product, whether it isa worth
its price, and an evaluation of its operat: y
several months can provide such a comprehensive review.
about this new computer?
jon. Oniy an owner who has operated the Zd8 for
How about you Z86 owners telling us
(Mike Fink, 365 ¥. 39th St., NY, NY 10018-1401 )
UPDATE MAGAZINE
12
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
LETTERS: Just had to show you this one (reduced 50%).
oS
LENSE,
SEND ANOTHER
SPSPRERPPHPXPIPEPLEDP PI REEL DPE LP PEPER,
SESERPSPG IPLPIPLIPLD HELP HPLD IPN RPP HPP HPN IO DHE HE HP)
VSING THE 275-644
At no time should the TOS copyright
notice remain displayed; otherwise you are
not properly booted up.
ROOTING UP
1. With the computer and drives off,
insert 05-64 cartridge in the 2068 car-
tridge port.
2. Turn on computer. The screen will
clear and then display the 05-64 copyright
notices.
3. Power up the drives and then insert
the TOS DEMO disk in DRIVE A. The drive
light will flicker as the disk is read. The
OS-64 copyright notice will remain display-
ed.
4, When the light stops flickering,
type in the CAT* command and press ENTER.
You are now booted up in TOS with a 64
column screen. The DICE game must be
revised for a 44 column screen.
REBOOTING
1. With a TOS disk only in drive Ay
while pressing and holding the red reset
button on the drives, pressand release the
grey reset button on the interface.
2. Release the red button after the
screen clears and the 0S-64 copyright
appears on the screen.
UPDATE MAGAZINE:
Seon BAL, :
DQ anjoy radiny UPDATE
YEAR OF UPDATE
$15
ENCLOSED
CARTRIDGE WITH TOS
3. The drive light will flicker as the
disk is read.
4. When the drive light stops flicker-
ing, type in CAT# command and press ENTER.
TO TURN OFF THE SYSTEM
1. Remove disks from both drives.
2. Turn off the disk drive-power
3. Then and only then turn off the
computer, otherwise you may damage either
the disks or the drives.
EARL V DUNNINGTON
4356 KING THEODORE DR.
BOYNTON BCH., FL 33436
PHONE 308-732-6219
ot
OCTOBER 1988
OCTOBER 1988
<ON ERR> Programming
A person whom I'd never heard of sent me
a cassette, saying that it contained an
important program that "hangs up every time
it is loaded", I loaded the program and sure
enough it did hang up. A touch of the NMI
button on the Oliger DOS board gave me "0.K"
at the screen bottom. Then LIST put the
listing on screen where I discovered <ON ERR
CONTINUE> in the first program line. I
EDITed the line and removed the ON ERR, then
found a subscript error in a following
program line. The moral of this story is
that if you use <ON ERR CONTINUE> you'd
better have every conceivable error
eliminated. I returned the cassette with the
ON ERR removed and the program re-saved, with
expanations, never to hear from my pen pal
again- no thanks, no nuttings. AND, I paid
the postage. The morale of that story is, if
you ask someone to do something for you and
he does it, you should thank him.
The TS-2068 "Remembers ON ERR" and the
line number in an ON ERR statement "well
after" the program line that contains the <ON
ERR GO TO> statement has been executed. Then
the first error condition forces the
abandonment of sequential line read, and the
line that is designated in the ON ERR
statement is executed. Therefore, if you use
<ON ERR GO TO line>, it is best to terminate
the ON ERR "whether an error exists or not".
One DOS (AERCO FD-68) will carry forward a ON
ERR condition when a new Basic Program is
loaded without a computer reset. This can
cause the next program loaded to give you an
unpleasant suprise.
ON ERR programming can let the
programmer do many things that cannot be
achieved by any other means. But it is not
good programming technique to leave a ON ERR
condition dangling. I'll give a couple of
examples that can be modified and used in
different ways. First, the cure for the FD-68
programs that may be loaded during a ON ERR
condition in a preceeding program.
5 REM ** RESET a ON ERR
10 ON ERR GO TO 9000: STOP
20 STOP : REM **Line to begin
your programming.
9000 ON ERR RESET : GO TO 20
Let your auto run line be line 10. The
14
UPDATE MAGAZINE
UPDATE MAGAZINE
ON
programming to line 9000, and then the STOP
forces line 9000 to execute, where the ON ERR
is cleared with RESET. Then your first real
programming can begin at line 20,
ERR changes any existing ON ERR
The next illustration is more complex.
Here we use ON ERR almost as we would use <IF
THEN>. Say you need to present on screen the
"status of a data base" contained ina
character array "0$()". A subscript error
would occur if O$ were not dimensioned. Then
you may want to know the actual Dimension of
O$ array. Then you may also want to know the
last "cell of O$" that contains data (not
empty spaces). We will use ON ERR within
counters to do that in the following
subroutine.
5 REM ** Use ON ERR to find
the Dimension of a CHR$ Array.
10 LET a=500: FOR n=] TO a: ON
ERR GO TO 9000: LET b=LEN o$(n)
: NEXT n
20 CLS : STOP : REM **Line to
begin your Basic programming.
9000 ON ERR RESET : IF n<2 THEN
PRINT "O$ is not Dimensioned."
9005 IF n>2 THEN PRINT "The Dime
nsion of O$ is> "; FLASH 1;"0$("
pnm1;"yne
9010 IF n>l THEN FOR n=l TO n-1:
ON ERR GO TO 9020: IF O$(n)(1)=
"" THEN STOP
9015 NEXT n
9020 ON ERR RESET : IF n=] THEN
PRINT "O$ has no data": STOP
9025 ON ERR RESET : IF n>1 THEN
PRINT "The last cell of O$ that
has Data is "; FLASH 1;"0$(";
n-1;")"
9030 BEEP 3,16: LET n=a: GO TO 2
0
Each of this routine's actions to check
the status of O$ serves the same purpose as
an <IF THEN>, except that <IF THEN> cannot be
used because it could result in a subscript
error. So ON ERR allows us to check the
status of a data base "whether the data base
exists or not". It is important to note that
at the end of the <ON ERR> Subroutine, the
<ON ERR> condition is cleared (RESET). Then
any subsequent error will be reported as
normal with a "report code" at the screen
OCTOBER 1988
bottom.
Lets do one more that is simpler. This time
we will check the status of a simple string
content (A$). A subscript error will occur
if A$ has not been initialized in this
example. <10 PRINT Ihe Data Base is "; LEN
A$;" bytes">. The ON ERR routine would be:
10 ON ERR GO TO 9000: PRINT "T
be Data Base is ";LEN a$;" bytes POWER FRIAT “ate ultinate in Support for F our Epson=
as : SLOP Compatible printer with Aerco, Tasaan, or Aed parallel
+"t ON ERR GO TO 9010 interface, Featuress 1002 correct LLISTings t Recurate
20 STOP : REM * The next line.
9000 ON ERR RESET : CLS : LET a$
=""2 GO TO 10
9010 ON ERR RESET : GO TO 20
If A$ has not been initialized, the ON
ERR trips to line 9000. But if A$ has data
the LENgth of A$ is reported and the second
ON ERR designates a new line to GO TO if an
excor exists. Then SLOP triggers the GO TO
9010. In either case <ON ERR RESET> clears
the ON ERR programming. It might be worth
noting that <ON ERR RESE> clears the error
condition.
But, <ON ERR RESEI> is ignored if the
error condition has already been cleared.
‘There is no adverse effect if <ON ERR RESEI>
is encountered. The follow on programming in
the line is executed whether or not the RESET
actually reset an error or not.
CORNUCOPIA
, Myth. a horn of the goat that suckled
Besar it would become full of whatever
its owner wante
GETCHA MAGNIFYIN GLASSES ouT! THIS
ISSUE WILL BRING SOME ANNOUNCEMENTS ABOUT
SOFTWARE THAT IS AVAILABLE, NOW DONT FUSS
ABOUT THE SMALL PRINT. UPDATE IS DOIN
THIS AS A PUBLIC SERVICE ANO TRYING TO GET
AS MANY IN THAR AS POSSIBLE WHILE MAKING
THE PRINT CLEAR NUFF TO SPY GLASS UP. THE
MAIN THING IS TO SEND A SASE TO THE FOLKS
AND GET BACK MORE INFO THAN WE CAN PUT IN
A LITTLE COLUMN, - ED.
15,
TIPNATR MAGAZ TNR,
McBrine Computer Products
LIFE for the 182068 v. 2.0 - See John Conway’
tionary pattern-generatin !
fast a8 our original; includes 24 x
96 x 128 in one program, plus saving
improved keyboard routini
aspect-ratio b/w screen dumps in 2 sizes and two resolu-
tions (192 x 256 and G4-col., or 192 x 512) ¢ Text-only
screen duaps (both resolutions) for speed $ Print to
peony § Interrupt-driven print spooler & TOTALLY RELOC-
for your printers send print code data.! 95
RAW 512 ~ Works in both 192 x 256 and 192 x 512, b/w
only. Draw (w/ OVER or
Circle $ Invert $ Block
screens 3 ways 8 Rotate
a pixel at a tioe $ Flip
4 ways t Convert back and forth
tol. sodes in several ays 4 Use joystick or keyboard &
Screen duaps from POWER
SUPERTOOLS - Remkill # Header reader %
60 10's and -SUB’s) § Variable duap t Progra tracer t
Finder (find string in BASIC prograa) & All RELOCATABLE
except tracer, part!
TS2068 SOFTWARE!
5 revolu-
ase for Yonsei 3 times as
2, 48x 64, and now
and an
9.95
& loadin
! 4 Specify interface and printer, (Will custosize
INVERSE) $ Line $ Box & Square &
invert $ Block erase € Merge
(scroll) screen in 8 directions,
left/right or upidown % Mirror
etween S2-col. and 64~
RINTe sees IS
(with
Renuaber
y relocatable.s.sssesee
Postage paid on all orders $ Check or Honey Order
SEND LSASE FOR FREE CATALOG!
NcBrine Coaputer Products
514 S. Jackson St. $ Salisbury, NC 28144
‘SOFTWARE FOR THE QL
It is time to start thinking about an ugly
word, "TAXES". "But'' you say, "this is only
October". Wal, the next issue of UPDATE may
be too late to start worrying. This is an
unpleasant way of introducing you to a DEALER
of SPECIALIZED SOFTWARE for the QL.
Peter Hale, of EMSOFT has announced the
1968 version of "TAX-I-QL", which has a
template for your PSION ABASCUS Software. The
TAX-I-QL program produces most of the IRS form
schedules that you need, plus common forms and
worksheets, Your taxes are computed from
input data on the proper forms. A 16 page
manual guides you through the task of inputing
data to compute your or someone else's taxes.
Other EMSOFT titles are “MAILBAG", an
address data base, "QLAND_LORD", which
completely manages up to 99 property rental
units and produces the required IRS Schedule
E. Another is "TRUST_FUND" to manage your
investments.
All EMSOFT softwares require 256K of RAM
extension and are available on 80 track Floppy
for $19.95, or Micro Drive Cart for $21.95.
Write for catalog: EMSOFT, PO Box 9763,
Boston, MA 02114-8763 (tel 617 689 0830).
OCTOBER 1988
UPDATE MAGAZINE
‘ARCHIVE Database 1s @ ponertul,
flexible and unique program that
wan suppiied am a “bonus" with
mont new GL computer systens. :
However, due to it's complexitity EMSOFT
and lack of complete documentation,
jerhape the most misunderstood software for the QL
up until now.
from Executive Workshop. :
ARCHIVE MASTER explores all of the SOFTWARE CATALOG
inner workings of ARCHIVE,
and containg tips & tricks ta help
you make ARCHIVE an even mare APPLICATIONS SOFTWARE for the QL
powerful tool for personal use and
Complete procedures are
to set up an Inventory MAILBAG Address database you won't
program, a Customer/Suppiier #11 believe. 256K+
an Accounts Recetvable/Invoicing TAX-I-QL Spreadsheet for IRS 334K+
QLAND_LORD Manages up to 99 units and
does Sched E (fgeh> 256K+
TRUST_PUND Tracks investments and net
worth (Soon) 256K+
Order your copy from:
RNG ENTERPRISES
sate renee acces Agents for ZX/TS SirtusWare
oreson City, OR 97045 4K Vord processor with
(303) 655-7484 TS 2040 lowercase printer driver
Ordere, Catalogues and Dealer info:
PROMISE LAND ELECTRONICS
Dan Elliott, Owner
ite Management Se Bacon on,
P.O, Box 8763, Boston, MA 02114-8763 (617) 889-0830
Servicing conputenszeo
electronic equipment
| __ COMPUTERS / MODULES 7 PRINTERS / HONITORS
Ticinibyob? estas = caaisea’ “asin
coleco ADA 11-99/44 comecdore 128 THE Z88 UNDER 2 LBS.
REPAIRS / UPGRADES / NSSEMBLING / TESTING A Computer Without Compromise
Weite for prices:
Dan Elliott
Route |, Box 117
Cabool, MO 65689
Ph. (314) 739-1712 evenings, Sunday - Thuraday.
Ph. (417) 469-4571 weekends.
od bd dl
a ood a tad bad al “cad el
etd tl tad Ob tad ed tab ed Md nd od
wild “ed's vd a wd dd ed
* Where isptops compromise on diapity and RAM capacity fo achieve portapiity, and
dethiops seem t
computer with the power to address 4 Mbytes of
memory * A computer with 2 work-free dlepiay of 8 lines of 80charociers, an LCD creer
‘which outéates afl others, and # unique dynemi page mep on screen + A computer with
told-statepermenentatomge * Acomputer with advanced word-processing. spreadsheet
land Ingenious lime- and date-menagament softwere buill-n + A compuler whlch Is
completely set! contained, which gives you up fo 20 hours active computing from justd AA
Datleries, yet which elke and eters to your 18M + A computer with « lul-aize keyboerd, ine
package lass than the size of an 8x11, witha fota! weight of fees than2 Ibe. + The ZB8, A
Computer without compromise,
2.88 Computer sr00 SERIALIOPARALLELUF $4595
Pete 2-08 iniwe “800 v2 mea. ane 8008
Eoxnant pes DATABASE SW 1998
3x EPROM nes CARRYING CASE 1985,
Q_LInNK - 126K RAM e895 (2-88 MAGAZINE 500
The Ultimate Qi Terminal ‘128K EPROM 9905 MODEM S/W 0995
5232 LEAD : 1995
US819.95 + 3.00 shipping S8SHIPPING ONZ-48 VISAMC Aceepled wind aurcharge C.O.D charge $2 25 here are any
Cspecify medium] questions, (ete fo call or wee
Hote Kedia, erosuetione SHARP'S, INC. =)
Route 10 Box 459
Vancouver BC Mechanicawta, VA 23111 41038 or meagre nariog
Canada VSZ 179 (808) 746-1564 Burchegeoncresteoos
UPDATE MAGAZINE 16 OCTOBER 1988
§S
a
y e
VENCOUVer Simclsir
: Uses Sour
was named #2 BEST CLUB
UPDATE MAGAZINE
YEAS
The Vancouver Sinctair Users Group hes been in exislence since
1982. We are a support group for the owners and users of all
SINCLAIR end TIMEX computers.
Pres:-Gerd Breunung, PH#(604) 931-5509
‘V/Pres:- Glenn Read
Sec- Harvey Taylor
‘Treas. & N/L Edltor- Rod Humphreys
Our membership dues are only $15.00/year and may be sent to
the Treasurer:
Rod Itumphreys
2006 Elighview Place
Port Moody, B.C, V3H INS.
Members of VSUG receive « monthly Issue of ZXAppeal - our
newsletter.
ZXAppeal accepts sdvertising. Our “PREPAID rates are:
$10.00 — full page
$8.00—1/2 page
$5.00 —1/4 page
ZX-APPEAL ZXAppeal ts dintributed to approx 30 other SINCLAIR User
Fi = i Ee Groups throughout North Amerion 1s well as overseas via the
publication by Time Designs NETWORK. NETWORK correspondence may be directed to the
panel. See re-print articles in Bulltor at tha above addrees-
i. 7 5 : Copyright of all aiticles appesiing in ZXAppeal is retained by -
thas “ieee... ed Garrat de uchel ing at ate 1s Une Googe
aay peprint any axtiele appearing In ZXAppeal provided credit
Is given to the suthor and VSUG.
Reprinted from the May/88 issue of the Nite-Time
News - the N/L of the Chicago Area T/S Users Group
TELECOMMUNICATIONS ON THE QL
By Michael Mitchell
(Reprinted frou C21)
The QL for all its pover and versitility is linited in
teleconaunicating at 360 baud vithout a hardware link betveen
(he serial port and the nodes. The following progran which
appeared in the Data Expansion or the Oallas/Fort Vorth group
vill get you on Line to a TNC ot a telephone at 346 (or even
1200) baud.
1 RERark 3090/1200 baud terninal 205 PRINT#O,,"Re-runfQuil! (+/@)°
7 Retiark NIKE_TERA 21@) TF TNKEYS(-L)=**R® THEN RUR: ELSE STOP
9 Retark Qeveloped by 220 OEFine PROCedure terainal
4 Retark Hichael Mitebell 230 REPeat key_loop
§ Renark attribution requested 240 as CODECANKEYS(15, 0) )88L8
§ REMark SinclairéTisex User Group 250 IF aci3 THEN PRIAT
7 AEKark Boston Coaputer Society 260° IF as? TREN SEEP 2468, 18
180 WINDOW 465,204,6,8 27¢ FY) THEN PRINT CHRSCa)
105 BORDER 1,0,7: L8e1z7 280 b=CODECINKEY#)
118 CLS: POKE 169976, 255: cLste 296 IF b=248 THER EXIT key_loop
126 PRENTE®, "Choose Baud! Hel20¢, L=90¢ 306 IF be285 THEN D=@
aan : 310 TF bed THEN NEXT key loop
13@ IF INKEYS(-1)22*R" THEN BAUD 1208: ELSE BAVD 300 320 IF bel THEN b=13 i
14@ CLSRO: OPENNS, SERZi
PRINTED, ,“FS2QUITS, "ALT“C=°C","“G=BELL”
166 REPEAT TERA
17@ TEANIMAL; PRINTEO.
180 EF ENKEYS(-1)=
(58
230° IF e208 THEN be?
34¢ PRINTS, CHRSCD);
350 END RePeat key_loop
360 RETurn
378- EMD DEFine Lerniaat
Exit ty/nI*
'Y* THEN EXIT tere
190 END REPLera
266 CLOSERS
Save as NIEE_TERN bas
17
UPDATE MAGAZINE
OCTOBER 1988
OCTOBER 1988
Reprinted from ZX-APPEA
command. This has 8
| arguments, all of which are
obscure. The only way to
produce something vaguely
melodic is by trial and error.
Sound Experimentor
Rob Miles
Unlike most home computers
the QLhas a very limited noise
making capability. What there
is can only be dragged out by The following quickie allows
using the enigmatic BEEP you to do exactly this.
100 REMark ##*#* OL User -Beep experiment
110 REMark #***# Rob Miles 1985
120 duration=S000:pitch#100; pitch _2#0:grad_xevrgra
d_y#0:wraped: fuzzy=O:random=s9
130 REPeat sounder
140 CLS
150) set
160 set
17 set
180 set
19) sek
200 set
“Duration 2?" duration,2
“Pitch (0..255) 7
“Pitch 2 (0..255) ?”
"Grad_x i-32768..15)
“Grad _y (-8..7) ?",grad v.10
“Wrap (0..32767) ?"“.wrap,12
210 set "Fuzzy (0..15) ?",fuzzy.14
B20 set "Random (0..15) ?",random,1&
230 AT 18,0:PRINT "Beep “s:duration:","spitcny"."sp
itch _2:","sgrad_xi","s;grad_ys","swrap:","sfuzzys"y
“srandom
240 BEEP duration,pitch,pitch_2,grad_x,grad_y,wrap
yfuzzy,random
250 dum$sINeEYs (-1)
260 END REPeat sounder
270 DEFine PROCedure set
280 LOCal buf#
290 AT position,O:PRINT names;" "svar
300 AT position,O:PRINT names;" “5
SiO INPUT buts
320 ITF bufseo"" THEN varsbufs
(-32768..32767)
(name#,var position?)
“svars"
330 AT position,Oz:PRINT names”
340 END DEFine set
Easel Print an dump provided with EASEL.
D Duncan All you need isan EPSON
The following 7 liner shows’
compatible printer and the
exactly how touse the graphics | EASEL cartridge in mdv2.
120 MODE 8: PAPER 2:CLS
130 FOR n=l TO 150 *
149 INK 7:FILL 2:CIRCLE n,50,20,.5,-n/2
150 INK 2:F1ILL O:CIRCLE n,50,20,.5,-n/2
160 NEXT n ;
170 REMark Dump to Epson printer
180 a=RESPR(1024):LBYTES mdv2_gprint_prt,a
19 CALL a: OPEN #3,serl:LIST #3:CLOSE #3
18
UPDATE MAGAZINE
UPDATE MAGAZINE
OCTOBER 1988
OCTOBER 1988
QL RAM extension
UPDATE MAGAZINE
Re-print from Z2X-APPEAL
Sinclair's QL has as standard a 128 K
RAM, which sounds like a lot in com-
parison with most 64K machines.
Unfortunately, the software writers, in
the knowledge that there is more than
enough memory, have been rather
wasteful in their work, so that at the
end of the day, there is not all that
much more in the QL than in the 64 K
machines. So, you need more
memory. .-
The accompanying circuit is an appli-
cation of the TMS4500A as RAM
extension for the 68008. This chip can
drive a maximum of 128 K dynamic
RAM and provides _ virtually
everything: multiplexing _of the
address lines, RAS, CAS, and
REFRESH.
The memory ICs are 64 K x 1 (128 or
256 refresh are both permitted) and
have a speed of better than 150 ns.
Since the QL uses a clock frequency
of 7.5 MHz rather than the normal
8 MHz, such a RAM can run without
wait cycles. An 8MHz CPU that
regularly has to carry out a wait cycle
is appreciably slower than a 7.5 MHz
typel
The 68000 family is provided with a
data acknowledge input. As with
other processors, the CPU places
addresses and data onto the bus and
indicates the validity with an address
strobe and data strobe respectively. It
continues to do so until the memory
sends a DIACK signal. The present
extension generates this signal with
the aid of the LS156. Normally, this
acknowledgment is given almost
immediately, but it may happen that
the 4500 is in the middle of a refresh.
In that case, the CPU has to wait,
which is arranged via the ready output
(pin 2).
To prevent the QL waiting forever
when an address is read that has no
memory, the DIACK is generated
internally: this must, however, be
disabled for addresses where the
RAM extension is located, and for-
tunately this can be done easily’ via
DSMC. By making this logic high as.
quickly as possible, the internal
DTACK is cancelled.
If you cannot get the 2N2905 transis-
tor, you may use a 8S250, in which
case resistor A, can be omitted and
UPDATE MAGAZINE
FR, should be replaced by a wire link.
The circuit as shown is for the 128 K
version. It is also possible to omit the
eight RAMs connected to RAS1 and
make a 64 K extension. Input A of the
LS138 must then be connected to Aig
and pin 11 instead of pin 13 must be
used as CS.
There is no 5 V supply available on the
connector, but there is a9 V line. This
can be reduced to 5 V by a standard
7805. The current drawn depends on
the types of RAM and will be
200. ..300 mA. It is important to
decouple the supply lines properly:
each RAM IC and the 4500 require a
100 n capacitor!
eektor jly/august
!
EEECEZE gf
Eorer?
a92e28
FEY = 6iC2 = 74LS74
Io KtCS « 74LSI2
OCTOBER 1988
Re-print from ZX-APPEAL
-the N/L of the Greater Cleveland Sinclair User Group
Reprinted from the Jan/Feb issue of The Ramtop
The Truap Card is siaply the most useful single addilion you
caa get for the Sinclair QL. It combines a disk interface, 7628
kilobyte RAN expansion, Toolkit If for SuperBASIC extensions, a
screen dump, static and dynanic randisks and a dynamic printer
bulfer, When you consider that even the lowest cost $12 Kb RAN
expansion and a disk interface will cost al least $25¢, and
Toolkit 11 costs $70, the Truap Card is a bargain at $309.95.
The entire unit only sticks oul about three inches from the
expansion port side of the QL, so it’s compact. I got mine from
Curry Computer in Glendale, Arizona.
The disk interface is pretty standard fare. It will allow
you to store information on any combination of forty and eighty
track drives, single sided or double sided, § 1/4" or 3 1/2”.
The interface is fairly intelligent in that it will pick up on
what format the disk was created in automatically. For example,
if you have a 90 track, § 1/4" double sided drive, the interface
will automatically read frou a 40 track, single sided disk. Of
course, you can't wake 2 single sided drive read from a double
sided disk, or pul a3 1/2" (loppy ina 5 1/4" drive since the
inlerface can't change the liaitations of your disk drives. But
if you have an 80 (rack $ 1/4" double sided drive, you'll be
able to read any disk with the exception of 3 1/2" disks. The
interface is only able to support lwo floppy disk drives. That's
ils only shortconing as far as I'a concerned.
The 768 Kb RAN expansion maxes out the QL. Added to the 128
Kb that are built into the @L, you have a whopping 896 Kb of
RAN. (While the 68¢68 CPU can address 1 Nb of RAM, 128 Kb of
seaory in the QL are reserved for device addresses and ROMs.)
You'll have rooa to run any prograa that has ever been written
for the QL - probably several copies of the progras. This can be
very helpful on a pultitasking machine like the QL. You'll also
have plenty of room for raadisks too.
The randisking capabilities of the Trump Card are really
neat. The raadisks cone in vo varieties, static and dynasic.
The difference is that the static randisk has to be formatted,
alaost like a nicrodrive cartridge, and the dynamic raadisk can
be created by just using the device nase. For example, to
create a static randisk with two hundred, $12 byte blocks of
space, just enter:
FORMAT RANI 200
A100 Kb section of memory vill be set aside for use by the
aathine to use just like a microdrive or floppy disk, but will
be located in fast RAM, To create a file in dynamic ram, it's
dust as sisple as using the device's nane. To copy a file to
raedisk raa3_ just enter:
COPY dev filenane to RAN3_filenase
A bES of aenory will be set aside in RAM as ran3_filenase. it
will grow only large enough to hold the f1le(s) that have been
send to ram3_. The difference between the static and the
dynamic randisks is that the dynanic raadisks are aore likely to
fragnent the aenory of the Ql. If the menory becoses
sufficiently fragmented, it can degrade the perforsance of the
UPDATE MAGAZINE
UPDATE MAGAZINE
The Trump Card
by David Hoshdr
aachine because the operating systen vill have to scrounge
around to find blocks of neaory. Up to eight randisks can
used with the Truap Card. One other neal feature of the raadis.
is thab it can aake a very fast (age of everything on a
aicrodrive. It vill copy everything on the sicrodrive in just
about fifteen seconds.
One of ay favorite features of the Trump Card fs its printer
buffer. [t's a snap to use and can reably save tine. fn its
sinplest form, you just use the device naae "PRI instead of
"SER". What happens is that whatever you are sending to the
printer is sent in its entirety to a buffer in RAN. The Qt then
sends bytes to the printer as a background task. The advantage
to this is that you can return aluost inwediately to an editing
session if you senda file to “PRI* from The Editor or Quill.
If you send a file to “SER* from an editor, you aust walt uatll
the printer has finished printing before you can continue
editing. Several files can be sent to the printer buffer and
they will be sent in the proper order, There is a nethod of
changing the davice that you vant lo have the ‘PRI* device use.
Unless you have a parallel interface that doesn't use the serial
port, it's hardly likely that you'll change it.
The printer dump is pretty good. It supports about any Epson
dot aatrix printer plus a few olher printers including the
Brother HR4, Olivetti JPIOL, Selkosha GP-10A, GP-250K, and
GP-700A, and the Canon P/1080A. You can specify what section of
the screen te copy, and there Is a provision (or using a
hotkey’ to copy any*sceeen from any prograa that you night be
tuning. There's also documentation on hoy to open @ printer
device and gel a printer dunp from prograas written in near
any conputer Language ~ not just SuperASIC. I've tried it fron
*C" and it does vork.
Toolkit [1 is a collection of SuperASIC extensions. Sone of
then are such wore useful than others, but on the vhole, they
are very vorthvhile. To ae, sone of Toolkit's aost useful
commands are "ed", a screen based SuperBASIC editor; “vcopy’, @
file copier that allows the use of wildcards; ‘wstal’, a
vildcard directory command that also provides the file size and
last update tine of (Iles; “spl{*, another printer buffer or
rather ‘spooler thal vorks greal when used vith “prt*; and an
ascortnent of jeb control comnands shat allow the user to
aonitor, change the stalus of, and remove jobs that are the in
the QL. Toolkit IL allows the use of default directories, has
clock features including alarm clock(s), has iaproved SuperBASIC
error handling, peraits the user to define “hotkeys”, altkey/
single key combinations to enter large strings or commonly used
conmands, and has an easy way to repeat of the last command
typed. Soue of the sore obscure comeands deal vith networking,
direct unbuffered access to the various i/o devices, and senory
aanagesent conaands. Al in all, its a pretty fapressive array
of extensions to SuperBASIC. Once you start using the Toolkit
TI commands, you'll never want te use a sachine vithout thee.
fn additional benefit of having Toolkit [1 fitted on the Truap
Card is that it leaves the ROM cartridge slot on the back of the
QL free for other A0Xs.
When you consider the features that the Trump Card offers, ~
feel that it {s an unbeatable conbination.
2.0
OCTOBER 1988
OCTOBER 1988
A MULTI_MANA
Bob Hartung, 2416 N. Co. Line, Huntertown, IN 46748
Since the final additions have been made to SAFE DOS, I
have had several requests to write a "do-all" disk man-
agement program that includes all these features, plus
the file-indexing provided by DOS_DEX and AUTO_DEX. It
seemed to me to be more practical to call these file-
indexing routines and the disk-verity routine from the
initial <LOAD) menu and from the MULTILMANAGER menu than
to integrate them all into one program.
To make it possible to utilize only one set of data for
both DOS_DEX and AUTOLDEX, the original DOS_DEX was re-
vised to save DATA c$() arrays instead of the entire
routine with variables. This in turn required finding a
way to preserve current variables whenever a new file
directory was installed by the machine code routine, 1
utilized the UDG file for this, eg: POKE USR "D and PEEK
USR “d* which saves several bytes compared to using the
usual PEEK/POKE syntax. The underlined "D* must be en-
tered in GRAPHIC mode but not the lower-case “d".
Some have wondered why the fast FOR/NEXT loop was not
used in these routines. Actually, because of the various
Key-stroke tests and item-numbering very little gain in
display speed is obtained by this, but for anyone who is
interested, the eighth REM byte may be changed to a 14
to allow for a LET m=SGN PI definition before the DIM c¢
(VAL "178",VAL "20"). An easy way to do this with the
original DOS_DEX listing is to insert a line 6 STOP. Key
RUN, then POKE (at7),i4. Remove line 6, make the m
definition between CLEAR and DIM c$() and revise all the
m loops.
Note that this fast FOR/NEXT definition is NOT provided
in the revised DOS_DEX listing given below. To move the
REM statement to line O if you are starting with the
original listing, POKE 26711,0. (Refer to April UPDATE
for poking the machine code to a REM line from scratch.)
As given, the listing provides for a two-drive system,
O and 1, at lines 1 and 522, which may be changed if you
prefer to designate other drives. Omit these drive
designations if you have a single-drive system.
After the ERASE function appeared for $00S v2.52, 1
found that the CHR$ 229 " RESTORE " test I had used in
the original AUTO_DEX, VERI_DISK, and MARK_MOVE listings
would not work after an ERASE had been used on a disk.
Upon checking with John Oliger, I learned that a CHRS
128 in the first byte of the first unused file di-
rectory is what must be looked for. So, in all the ori-
ginal listings, wherever " RESTORE * appears the respec-
tive lines should be changed to IF CODE c$(n)) VAL "127"
vee oP TF CODE c$¢k)) VAL "127"... or IF CODE c$(H)) VAL
"127" or IF CODE c${m)) VAL "127"...
UPDATE MAGAZINE
ad
UPDATE MAGAZINE.
The MULTILMANAGER listing does not utilize the fast FOR/
NEXT loop either, so when entering the listing be sure
that the eighth byte of the line L REM is an 8 and not @
14 as described previously if you are starting with a
copy of the DOS.DEX machine code in line 1 REM. The
program prompts should be self-explanatory--I HOPE! Note
the warning given in the SDOS User Manual {p. 37a in the
final edition) that the MOVE / command to transfer an
entire disk must be used only with identical drives,
otherwise the MARKMOVE method is the only safe way to
do it. The MULTILMANAGER menu assumes that DOS_DEX
resides in file zero and that AUTOLDEX and VERI_DISK are
on the same disk, preferably with AUTO_DEX in file 1.
These routines are available on an UPDATE issue disk.
TWO-DRIVE DOS_DEX WITH DATA-SAVE
OREM STEP 2#K\?? FOR ! &? CLOSE #
1 POKE USR "D",SGN PIs LET /d-NOT PI
2 CLEAR : DIM c$(VAL "178" ,VAL "28": LET t=VAL "10":
LET s=SGN Pl: LET wests: LET o-NOT Pl: LET d=PEEK USR *
Pa
5 LET a=VAL "PEEK 23635+PEEK 23636%25445": LET c=INT
(a/VAL "256"): POKE VAL "23549" ,VAL "195": POKE VAL "235
58" a-(caVAL °256"): POKE VAL "23551",c: LET 4i=USR VAL
"23549": LET rowew: LET col=VAL "9": LET ng=c$(VAL "178"
+ 10 VAL '16")
26 LET at
+ DIM #$CVAL "6" ,w): LET #$(w)=" DATA a's
LET #$(INT PI)=" DATA 3": LET
L 'S")="ABS ": LET #$(VAL "6
308 CLS
PRINT AT 0,0;" Disk#";d-s;
+ NEXT CAT SAVE LOAD (1)4";
ET c=INT (fiAAL "18"): ‘et difsINT (CFI
VAL "18"-c) VAL "18"#VAL ".4"): LET loop=VAL "17": ON ER
R GO TO VAL "700"
410 LET q$="p*: LET ites: IF loop)=fi THEN LET loop=ti:
60 TO VAL "425"
415 FOR i=s TO cs FOR n=o TD loop: PRINT AT rowtm, tya$;
AT rowtm,t-LEN STRS itsity" "yc8Cit, TO ths" ";#S(CODE c
$Cit,VAL "11")45): LET itsites: NEXT m: 60 SUB VAL "586"
2 NEXT is FOR i=s+s TO VAL "19": PRINT AT i, tja$s NEXT i
+ IF NOT dif THEN GO TO VAL "418"
425 IF £ THEN FOR m=o 10 dif-s: PRINT AT rowtm,t;a$jAT
rowim, t-LEN STRE itjity" "gcSCit, TO tds" *p#S(CODE c¥(i
t,VAL "J1")4s): LET itsittss NEXT m: IF loop)=#i THEN LE
T #0
427 IF NOT ¢ THEN LET it=fits
438 60 SUB VAL "588": GO TO VAL "418°
300 FOR L=o TO m-s: PRINT AT row+L,col-w;" "; INVERSE
55°)" IF q$<)*" THEN FOR a=s 10 PItPI: NEXT a: LET q$="
518 LET a$=INKEY$: IF a$="" THEN LET q3="p*
"318"
528 IF CODE a$=VAL "13" THEN 60 TO VAL "688"
ai to; *DOSDEX
260 10 VAL
OCTOBER 1988
OCTOBER 1988
522 IF a$="C* THEN LET /d=s: OPEN #w,"P*: CAT : CLOSE #
w: LET /d0: 60 10 w
524 IF a$="L" OR a$="1" THEN LOAD /STR$ d DATA c$(): LE
T nd=c$VAL "178", TO VAL 16"): LET d=CODE c$(VAL 7177"
d+ LET fi=CODE c$(VAL "177" ,w): GO TO VAL "388"
526 IF a$=*S* THEN LET d=dés: POKE USR ‘D' yd: LET c#VA
L '177",s)=CHRS ds LET c$(VAL "177" w)=CHRS fi: SAVE //S
TR (d-s) DATA c$(): 60 TO w
528 IF a$="N* THEN INPUT * INPUT NEXT #*;d: POKE USR *D
".d: 60 10 w
538 PRINT AT row+L ,col-w;"
"RETURN
608 ON ERR RESET « CLS : LET pos=it-m+L: LET d$=c3(pos,
TO t): LET a=CODE c$(pos, tts): IF NOT a THEN LOAD /dt
618 IF a=s THEN LOAD /d$ DATA n()
626 IF a=w THEN LOAD /d$ DATA n$<)
638 IF a=INT PI THEN LOAD /d$CODE
648 IF a=wtw THEN LOAD /d$ABS
656 IF a=VAL *5* THEN LOAD /dSVAL
788 ON ERR RESET : PRINT SNOT PI; FLASH SGN PI;" FILE N
OT FOUND ": PAUSE VAL "188": GO TO SON PI
“: NEXT L: LET a$="
MULTI_MANAGER
1 REM STEP 23K\?? FOR ! & CLOSE #
2: 0N ERR RESET : CLEAR : DIM c$(VAL "178",VAL 28"):
LET s=SGN Pl: DIM m$(VAL "177",s): LET f=VAL '4": LET t=
VAL '18": LET o-NOT PIs LET a$="": INK VAL "7": PAPER oz
BORDER o: CLS
3 PRINT TAB t;"NULTI-MANAGER*‘/TAB £;"1 - Mark/nove ¢
iles";TAB #;"2 - Move ALL files*;TAB #;"3 ~ Re-nane file
S";TAB £;"4 - Re-nane disk";TAB 4;"5 - ERASE files" ;TAB
3° ~ VERI_DISK";TAB #;'7 - DOS.DEX";TAB #;"8 - AUTOLDE
X";TAB £;"9 - SAVE MULTILMGR';TAB 4;°@ - LPRINT CAT *: P
AUSE o: LET opt=CODE INKEY$-48: IF opt)? THEN GD 10 5
10 IF opt= THEN LOAD /"VERI_DISK"
15 IF opt=7 THEN LOAD
26 IF opt=8 THEN LOAD /*AUTO_DEX"
25 IF opt=9 THEN CLEAR : SAVE /*MULTILMGR" LINE 2: GO
102
38 IF opt=o THEN INPUT "Printer ON, then key ENTER ‘sa
$: LET /p=o: OPEN #2,"P"; CAT : CLOSE #2: LET /p=t: 60 T
02
35 DIM #$(VAL "6" sts): LET £8(s4s)=" DATA n's LET £8¢
INT PID=" DATA $": LET f$(VAL "4")="CODE ": LET #$<VAL *
S*)="ABS ": LET 4$(VAL *S")="VAL *
48 INPUT "No. of SOURCE drive (8-3): “ssource’"No. of
DESTINATION drive (8-3): "jdest: IF source=dest OR sourc
2)3 OR dest)3 THEN GO TO 48
45 LET s#="Place source disk in DRIVE "+STR¢ sourcet®
& target disk in DRIVE '+STR$ dest: LET kS="KEY ENTER T
or
‘58 PRINT #ojst;" Key any CHR$ 10 CAT source d
isk or Key ENTER TO NOT CAT ": LET /d=source: PAUSE o: 1
F CODE INKEY$<>VAL *13" THEN OPEN 42,'P"; CAT : CLOSE #2
60 IF opt=1 OR opt=2 THEN INPUT "*: PRINT AT 0, t;"FILE
MOVE" #05" FORMAT target disk (drive #;dest;") — y/n?*
+ PAUSE o: IF INKEY$="y" THEN INPUT " INPUT FORMAT + ¢
itle to arras"ja$: LET /d=dest: FORMAT /a$: LET /cesourc
UPDATE MAGAZINE
22
UPDATE MAGAZINE
e: OPEN 42,"P": CAT : CLOSE #2:
PAUSE 308
65 IF opt=2 THEN INPUT "Key ENTER for DEFAULT t (track
s) OR enter no. of tracks to moves ";t4: IF t$<>"* THEN
LET /t=VAL t$: MOVE /: LET /t=83: GO TO 2: REN Make t
re-set defini tion=default
70 IF opt=2 THEN INPUT (s$’k$);" MOVE ALL FILES "ja:
LET /dsource: MOVE /: 60 T0 2
75 IF opt=5 THEN CLS : PRINT AT 19,03"Mark ONLY last #
ile to ERASE andrepeat for any others -- Key 7 to
proceed": PAUSE o: IF INKEY$<)*7" THEN 60 TO 2
88 CLS + IF opt=s THEN PRINT AT 20,5;"Key N to auto-ma
TK ALL files": PAUSE o: LET a$=INKEY$: IF a$="N* THEN FO
R nes 10 177: IF CODE c$(m)VAL "127" THEN GO TO 98
85 IF opt=s AND a$="M" THEN LET md(m)=" ": NEXT mm: 60
70 98
98 CLS : PRINT Ho;"Key:SPACE to mark CHR$ to review® t
@ revise "tk$+(" MOVE " AND opt=1)+(*RE-NANE™ AND opt=3)
+¢" ERASE * AND opt=5)
168 PRINT AT 20,5,,: LET a$=""s DRAW INK s;VAL "255",0:
DRAW INK s30,VAL "175": DRAW INK s;VAL '-255",0: DRAW I
NK 550,VAL "-175"
208 LET a=VAL "PEEK 23435+PEEK 23636%256¢5": LET c=INT
CaMVAL °256"): POKE VAL "23549" ,VAL "195": POKE VAL "235
58*,a-(c#VAL "256"): POKE VAL °23551",c: LET fi5USR VAL
"23549": LET rowests: LET col=VAL "9": LET n$=c$<VAL "17
8", TO VAL "16")
218 IF opt=4 THEN PRINT AT t,;"RE-NAME DISK in drive #
*ssource: INPUT "OLD disk name: "s<n¢)“*NEW disk name; ”
sb$: LET /desource: RESTORE /b$: GO 10 2
300 IF n$(LEN n$)=" * THEN LET n$=n$¢ TO LEN n¢-s): 60
TO VAL "388"
320 PRINT AT 0,VAL '16"-(LEN n$/VAL '2"); OVER 5; INK V
AL "5" y0$;AT o,VAL "8"; OVER 53" "5 PAPER
C)
405 LET L=o: LET f=s: LET c=INT (fiAAL 18"): LET dif=
INT (Cfi/VAL "18"-c)3VAL "18"#VAL *.4"): LET loop=VAL "1
a
418 LET g$="p": LET ites: IF loopd=#i THEN LET loop=fi:
G0 TO VAL *425"
415 FOR i=s 10 cz FOR mo TO loop: PRINT AT rowtm,t-f3a
S;AT rowtm,t-LEN STRE it;itin$ (it) scSCit, TO tds" "3 #9(C
ODE c$Cit,VAL "£1")41): LET itsitts: NEXT m: 60 SUB VAL
"500": NEXT i: FOR i=sts TO VAL "19": PRINT AT i,t-f;a$:
NEXT i: IF NOT dif THEN 60 70 VAL "418"
425 IF £ THEN FOR mo TO dif-s: PRINT AT rowim,t-¢ja$;A
T rowtm,t-LEN STRS itzitim$(it) sc$Cit, TO ts" ";4$¢CODE
C#Cit MAL "11")41)s LET iteitts: NEXT m: IF loop)=#i TH
EN LET 450
427 IF NOT # THEN LET it=tits
436 60 SUB VAL "508": GO TO VAL "418"
388 FOR L=o TO m-s: PRINT AT rowtL,col; INVERSE s;">":
IF q$(>"* THEN FOR a=s TO PItPI: NEXT a: LET q$=""
Si LET a$=INKEY$: IF a$="* THEN LET q$="p": GO TD VAL
"sie"
512 IF at="8" THEN LET n$(it-m+L)=" 's PRINT AT rawiL,c
ol4SGN PI;" *
S15 IF at=* * THEN LET n$(it-m#L)=" ‘2 PRINT AT row#L,c
o+SGN PI;
520 IF a$=CHR$ VAL '13" THEN GO TO VAL "558"
OCTOBER 1988
": NEXT L: LET ag="
‘530 PRINT AT rowtL col-s-s3*
"RETURN
558 GO TD 88#(opt=1)+786#( opt=3)+8883( opt=5)
686 BORDER VAL "7": PAPER VAL ‘7": INK o: CLS + INPUT ¢
5$)/(k$) ;"start MOVE "ja$: CLS : PRINT FLASH s;" NOVING!
DO NOT STOP till end *
681 FOR M=s TO VAL "177"
602 IF CODE c$<M))VAL "127" THEN 60 TO VAL *678°
605 PRINT AT t,t;?File: "3a
618 LET dé=c$(M, 10 t): LET a=CODE c$(M,VAL 11"): IFN
OT a AND m$<M)=" " THEN MOVE /d$ TO dest
615 IF a=s AND a$(M)=" " THEN MOVE /d$ DATA TO dest
628 IF a=VAL "2" AND n$(M)=" * THEN MOVE /d$ DATA $ TO
dest
$38 IF asINT PI AND m$<(N)=" * THEN MOVE /dSCODE TO dest
648 1F a-VAL "4" AND m$(M)=" " THEN MOVE /d$ABS TO dest
650 IF a=VAL "5" AND m$(M)=" * THEN MOVE /dSVAL TO dest
668 NEXT M
676 PRINT AT 0,0,,AT t,t FLASH 15" MOVE OVER *: INPUT
(h$);" NEXT MOVE '’" 7 FOR MENU "3a%: IF at="* THEN P
APER o: BORDER o: INK 7: DIM m$(177,5): 60 10 98
688 RUN
708 REM Re-nane files
702 LET o$="0id name: *: LET n$="New name: "
785 FOR n=1 10 178
788 IF CODE c${M))VAL "127" THEN 60 TO 9999
716 LET dé=c$(H, TO t)s LET a=CODE c$(M,VAL "11"): IFN
OT a AND a$(N)=" * THEN INPUT (o$;d$)’<n$) ;b$s RESTORE /
d$ 10 bs
715 IF ass AND m$(M)=" " THEN INPUT (o$;d$)“(n$) sb$: RE
STORE /d$ DATA TO b$
720 IF a=sts AND m$(M)=" * THEN INPUT (o$c$)/ (n$) bs
RESTORE /d$ DATA $ TO b$
730 IF a=INT PI AND m${M)="_" THEN INPUT (0$;d$)/(n$) jb
‘4: RESTORE /d$CODE TO bs
748 IF a=VAL °4" AND a$(M)=" * THEN INPUT (od 36)’ (n$) 3
b$: RESTORE /d$ABS TO bs
758 IF a=VAL "5" AND n${M)=" © THEN INPUT (0%; d$)/(n$);
b$: RESTORE /dSVAL TO bs
768 NEXT M
778 GO T0 9999
806 REM Erase files
802 FOR N=1 70 178
885 IF CODE c$<M))VAL "127" THEN 60 TO 9999
810 LET dS=cS(M, TD t): LET a=CODE c$(N,VAL "11"): IFN
OT a AND n$(M)=" * THEN ERASE /d$
15 IF a=s AND n$(M)=" * THEN ERASE /d$ DATA
826 IF a=sts AND n$(M)=" * THEN ERASE /d$ DATA $
830 IF a=INT PI AND m$(M)=" * THEN ERASE /d$CODE
840 IF a=VAL "4" AND m$(M)=" * THEN ERASE /d$A8S
850 IF a=VAL "5" AND n$(M)=" * THEN ERASE /dSVAL
868 NEXT M
9999 CAT : PAUSE 500: GO TO 2
23
UPDATE MAGAZINE
A Conglomeration of QL TIPS
MUCHODAT
A crazy title for a crazy situation. This
is a little tip on FORMATTING MICRO DRIVE
CARTRIDGES. While formatting a bunch of carts
just received in the mail there were two that
just wouldn't take a format. First, did you
know that a title isn't necessary to format a
mdv cart? format mdvi_ ENTER will do it. I
never could see much value to a title that one
never sees anyway. Anyway, after using a
short title “dta", as: < format mdvl_dta >I
had formatted 8 carts and there were two that
were cranky. I tried about 5 formats on each
to no avail. Now that exercise took about 2
hours of fooling around. Then I said, "just
one more time". This time I whacked in:
format mdvi_muchodat ENTER. Lo and behold,
the cartridge formatted perfectly! So I tried
the other cranky one, with: format
mdvi_muchodat. It formatted too! Now ain't
that a crazy one! There is more. After that
trick, I dug up three more miv carts that I
couldn't format before and had stashed away.
Two of the three formatted with muchodat as‘a
title. There is something fishy bout this!
Maybe theres something about a long title
which makes the thing format? Beats me! But
there's the tip for what it's worth.
INITIALIZING TRUMP AND SPEED SCREEN
IN BOOT PROGRAMS
Right now I'm gonna discuss HOW TO EASILY
MAKE YOUR MICRO DRIVE OR DISK DRIVE BOOT
PROGRAMS INITIALIZE THE TRUMP CARD. If you
dont have Trump, this won't be a dunnin you no
good unless you just want to read about it.
The Trump Card has a lot of additional
Super Basic Tools to work for us. One is a
routine to copy a WHOLE mdv cart, all programs
instead of just one at a time. This can save
about 30 minutes of copying single files.
First though, lets ramble a bit.
When we first turn on the computer it can
see all of that additional RAM in the Trump
card, but it dont know nothing about the new
Super Basic commands that the Trump has tucked
away in its own ROM chips. The whole bunch of
Trump Card tools must be initialized once.
Then after doing that, from then on all of the
extra basic functions are available for use.
‘ These Trump utilities must be initialized
by a direct command of: TK2_EXT ENTER. Now
if you allow the auto boot i
OCTOBER 1988
OCTOBER 1988
from either Micro Drive or Disk Drive, you may
not be given the opportunity to enter the
TK2_EXT command. Some programs just wont let
you break in to do that.
So, the thing to do is to modify the boot
program so that the first program line
contains the command: TK2_EXT.
Now if you also have SPEED SCREEN. you
should also add its initialization command.
That would be: < TK2_EXT: _SPEED 2 >. Then
the BOOT program that has these commands in
the first line of programming should be
re-saved. After this, every time you load
that particular mdv cart (or disk), the Trump
utilities will be initialized and the Speed
Screen will be turned on.
Now you can go ahead and TRY to do that but
RE-SAVING the boot program will give you a
report at the bottom “already exists". So
jets be a showin how to dun it- next in 1,2,3,
order:
1. RESET the QL
installed, then hit Fi.
2. Install a write enable tab on the QLWP
cartridge, and install it in mdvl.
3. Type; load mivl_boot ENTER. The boot
program will load but wont auto run.
4, Type; list ENTER.
5. Type; edit 1 ENTER.
listing will appear at screen bottom.
read; < 1 CLEAR >
6. Type onto the line to make it read;
< 1 CLEAR: TK2_EXT: _SPEED 2 > Then touch
ENTER, and the line should appear, as above,
in the listing.
7. ‘Type: tk2_ext ENTER. This
initializes the Trump Card so that the next
step will work.
8. Type: save mdvi_boot ENTER. ‘This
will execute one of the TRUMP routines to give
“without a mdv cart"
Now line 1 of the
It will
a "SAVE OVER" an existing program in micro
drive.
9. A prompt will appear, "OK to Overwrite?
y/n?" Touch "y"
10. Now your new boot program replaces the
boot program in the mdv cart, andthe next
time you use this cartridge the TRUMP and
SPEED SCREEN are automatically initialized.
You can do the same procedure for each of
your miv cartridges. I advise that you make
back up copies of all original mdv carts and
do this modification on the Back Up copies.
Later, in another issue, we will explore
making a “Library BOOT Menu" utility to do the
above Trump and Speed Screen initialization
and then give a menu of MDVs or DISKs in your
, Program library to select from.
UPDATE MAGAZINE
UPDATE MAGAZINE
COPY A COMPLETE MICRO DRIVE CARTRIDGE
With TRUMP
QL Basic does not provide simple commands
to COPY a complete mdv cartridge, only single
files or programs. Later in this issue Bill
Cable will present a utility to copy whole mdv
cartridges WITHOUT Trump card or Sandy board
utilities. This procedure is for using the
Trump or Sandy Super Tools which are dormant
when you first turn on the QL.
First, reset the QL, and leave MDV 1
vacant. When Fi is pressed. you'll get the
flashing cursor, which means that you can type
in program lines, or do Direct commands. Now
we will do the steps with a few direct
commands to enter into the QL.
First though, INSTALL a formatted mdv cart
in mdvl (with write enable tab installed).
For safety sake, remove the write enable tab
of the new qlwp boot cart that we just made
(above), and we will copy it. Install it in
mdv2.
Type in the following direct commands, one
after another, using ENTER after each:
tk2_ext ENTER
weopy mdv2_ TO mivl_ ENTER
What happens next is a prompt with several
choices. The prompt will read exactly as
follows:
MDV2_CLONE TO MDV1_CLONE Y/N/A/Q
Touch "A" for ALL, and the system takes
over and copies all files and programs from
mdivi to miv2.
Back to Business with the QL
OK, if everything has worked out, you now
have two copies of your new QLWP program which
has the modified boot program that comes up
and initializes TRUMP Super Tool Kit, and
SPEED SCREEN. These two cartridges are in the
microdrives and youre QL is in the BASIC mode.
Now lets get the QUILL Word Processor up
and running. Type: lrun mdvl_boot ENTER. Note
that a while back we loaded the boot program
to modify it by a command: < load mdvi_boot >,
which just loaded in the boot program without
letting it auto run. < lrun ndvi_boot > makes
it load in and run. This time when the qlwp
boot program loads in the TRUMP and SPEED
SCREEN will be initialized. BUT, I am told
that the QLWP program does not use TRUMP
utilities. Never the less, you can use these
procedures to modify boot programs that do use
the TRUMP Super Tools.
24
OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
655 N. W. Territorial Rd.
Canby, OR 97013
July, 11 1988
Late y
THE PLOTTER is the newsletter of the
COATS User Group, located in OREGON, and
is one of the better Club publications,
due largely by the expert writing of Dick
Wagner and Rad Gowen, both of wham are
Sinclair Activists. Thanks Dick!
TS-2068 UP-DATE
1317 Stratford Ave.
Panama City, FL 32404
Dear Bill:
Here are two articles for UP-DATE magazine. The one on
using LPRINT CHR$ was based on an inquiry to John Oliger. I was
having difficulty in conveniently using OUT 127 with lots of
DATA in printer graphics. He suggested trying these two pokes
which he hadn't used (he thought they should work). Well, they
did the trick and now I can copy programs direct from source as
fax as LPRINT CHR$ is concerned. He suggested sending you the
idea if it did work. ‘
The second article is from a suggestion in an EPSON printer
manual for duplicating DATA in printer graphics. Because the
loop for repeating numbers is tied to the numbers produced by
READ, the same loop can be used for several sets of repeating
numbers. AS an example, the DATA in line 90 can be extended from
the 60 to 120 dots by duplicating what is there. Line 20 would
be changed from "60" to "120". This should produce a line twice
as long by duplicating the original, and just by making these 2
line changes.
Se £2 oi mere Pie 5 as
SE SORES a a
Dick F. Wagner
Editor, THE PLOTTER
LPRINT CHR$ WITH OLIGER PRINTER DRIVER
Readers who have programmed in BASIC with the OLIGER
printer driver use the LET/P=0 command to send data to their
large printer. This command works fine for LPRINTing text and
messages but not so good for printer codes. When a programmer
wishes to use printer codes the accepted method is to go direct
through port 127 by use of the OUT command. For reference see
the OLIGER print driver manual and parts of Bill Jones's Smart
Text program plus UP-DATE (Printer Programming, 1988)
There is a way that follows conventional programming
methods such as LPRINT CHR$ n where "n" is a character code
number, or using a series of CHR$s to make up a printer code
such as LPRINT CHR$ 27; CHR$ 52 (EPSON Italics ON). See your
printer manual for codes used by your printer. Probably examples
are also displayed in your manual.
According to John Oliger the procedure for using LPRINT
25
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
CHR$ n is as follows: start with LET/P=O and then make these 2
pokes, 23300,60 and 23001,3 in the immediate mode. Then program
accordingly, possibly try examples from your printer manual.
When RUN the programs should perform properly. This change will
not permit LLIST to be used so just use LET/P=0 and make a
LLIST. Make the pokes again to set up the program to RUN. What
happens is that these two pokes turn off the BASIC TOKEN
erunching.
If the reader's printer provides a HEX dump capability then
a simple test of a printer driver is easily made. With LET/P=0,
enter this one line program: .
10 FOR N=0 TO 255: LPRINT CHR$ N;:NEXT N
Set up the printer for HEX dump (see manual) and RUN. My printer
puts 20 HEX numbers to a line, from 00 to FF, many incorrect. If
the last line does not print just press the ON LINE button to
empty the printer buffer. Now run the same test after the 2
pokes have been made. Now I get a perfect 00 to FF print-out.
This shows that the printer driver will correctly send all code
numbers to the printer.
GRAPHICS PRINTER TRICK
Readers who have tried any extensive printer graphics
Programming (not a screen dump) probably got discouraged with
the amount of data required to key in. Consider that a printed
figure covering 1"x1" requires 60 head pin definitions per line
and 9 lines are required, making 540 definitions. Remember that
a space also must be defined.
Often there are repetative groups of code numbers of the
same values. The following procedure will print those duplicate
codes--in the DATA statement use negative numbers that denote
the number of repeats and the next number is the code to be
repeated. Then program the READ command to send negative numbers
to a loop that prints the required number of duplicate codes,
then returns to the next DATA number.
An example will illustrate this. Let's make a 1 pin line
with up-turned ends 8 pins high, total length of 60 dots.
10 LPRINT
20 LET AS=CHR$ 27+"K"+CHRS$ 60+CHR$ 0
30 LPRINT A$;
40 FOR X=1 TO 60
50 READ N: IF N<O THEN GO TO 100
60 LPRINT CHR$ N;
70 NEXT X
90 DATA 255,-58,1,255
100 READ R: FOR J=1 TO -N
110 LPRINT CHR$ R;: NEXT J
120 LET X=X-N-1: GO TO 70
The reader must adapt this to the printer driver program being
used and the printer code for standard density 60 dots per inch
or similar. For Oliger systems do not use A$ as OUT 127,n must
be used for LPRINT CHR$ n (delete line 30).
26
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988
O'lhe
ESN
ompouter
O Society
One Center Plaza
Boston, MA 02108
UPDATE MAGAZINE
REPORT RARE Re OM RS eo rie rare ae PR eee ee ety ime eo ge vgie eon fe Pe
BOSTON COMPUTER SOCIETY x
Hewsletter of the BoSTUG (Sinclair/Timex User Group) x
x
x
Vol 7 No 5
The Sinclair/Tisexr Newsletter is
the official publication of the
Sinclair/Timex User Group of the
Boston Computer Society (BoSTUG).
Annual membership for New England
residents is $35.00 (otherwise
$28.00) per year. Subscription
to BCS/Update and one other news~
letter is included without cost.
The newsletter has an exchange
policy with Sinclair/Timex User
groups willing ta reciprocate.
Please forward exchange issues to
the editor pro tem, Peter Hale,
P.O. Box 8763, Boston, MA 02114.
Unless copywritten by the author,
articles are in the public dom-
ain. Attribution is requested.
BoSTUG is a sub group of the Boston Computer Society.
produces this nice 18 page newsletter,
QL and moderately in support of
the Sinclair
is not to be confused with UPDATE Magazine,
“UPDATE COMPUTER SYSTEMS", computer consultants.
Two articles from the BoSTUG Newsletter are re-printed to sample
the quality and depth of coverage in this nice newsletter. ed.
UPDATE MAGAZINE
27
BoSTUG
which is heavily in support of
t : the TS-2068.
BCS/UPDATE" is a large Magazine published by BCS for its members and
our name deriving from
OCTOBER 1988
OCTOBER 1988
REPRINT FROM:
ABOUT TOOLKIT 11
Are there any QL owners who if
they don't have TK2, have not
been strongly advised to get it?
Anyone who has keystroked COPY
mdv2_fred to mdvi_fred a zillion
times to backup media finds WCOPY
worth the price alone.
Certainly, the Toolkit II manual
is a forbidding document. There
is no tutorial; just a list of
keyword extensions with limited
and sometimes incomplete direc-
tions on their use.
Thera is not even a clue as to
where to get your feet wet, so a
sampling of easy and immediately
useful keywords is offered here.
Toolkit Il extensions that are
easy and that you will enjay are:
ALARM, CLOCK, DLIST, BX, EXTRAS,
EW, FREE_MEM, RENAME, SPL, SPLF,
STAT, TK2_EXT, VIEW, WCOPY, WDIR,
WMON, WREN, WTV, and WSTAT.
All can be explored from direct
mode and you can’t get in (much)
trouble (except for difficulty
understanding the manual).
But a lot of people are missing
out on three excellent features
incorporated in Toolkit I1; ED,
ALTKEY and last line recall.
line recall <ALT><ENTER> is
usually useful in direct mode tn
SuperBASIC. It recalls all char—
acters since the last ENTER. Done
several times in sequence, it
recalle several lines at a time.
Once recalled, Lines can be edit-
ed or reexecuted. It also works
from Psion programs, as a quick
and dirty copy, up to Peion's 22
character buffer limit.
Last
ALTKEY is worth exploring. It is
buried in the back of the manual
in Section 21 and little is said
about it. Essentially it permits
writing macros. The syntax is
ALTKEY ‘x’,’...." where x is any
one of the QL's character set.
In the example, x is lower case.
BoSTUG Sinclair/Timex Newsletter
UPDATE MAGAZINE
BoSTUG Sinclair/Timex Newsletter
fiverything after ‘x’, and within
the quotes happens when the con-
bination <ALT><x? is pressed, If
<BNTER>? is desired for executing,
the ALTKEY definition can end
with ,** (comma and two single
quotes), which is <ENTER>.
How to use ALTKEY is not concep-
tually easy. One use is ALTKEY
‘l', CHR$ (240)&'1lf1pi_setup’,''.
This line is incorporated in my
Quill ‘boot. The same disk alsa
has the file ‘setup_doo’ on it.
Setup_doc is my style sheet for
correspondence. It has my return
address, the date and salutation
position and no footer. I don't
reorganize Quill's default page
each time | write a letter; 1
press <ALT><1>.
Programmers assign ALTKEYs to oft
used keywords (without an ENTER)
to emulate single-stroke keywords
popular in earlier Sinclair's. A
beot with a batch of user defined
ALTKEYs anda final line HEW is
run at the start of programming.
NEW clears SuperBASIC memory (but
not the ALTKEY definitions.)
Finally, there is ED that invokes
a full screen SuperBASIC editor.
The cursor keys move the cursor
over the full screen. They can be
combined with ALT and SHIFT for
special effects. It is easier to
edit existing programs with Over-
writing (SHIFT F4, as in Quill).
SuperBASIC programs often have a
number of duplicate or near dup-~
licate lines. Editing a line
number replicates the line ata
new position and retains the old
line. If slight modification is
required, overwriting speeds any
needed changes.
For fun, slip in ED as a line
anywhere in a SuperBASIC program.
Run it. Predictably, when the
program reaches ED, it halts and
goes into full screen edit mode,
Now press <ESC>, What happens?
Peter Hale
September/Octaber 1988
28
UPDATE MAGAZINE
OCTOBER 1988
OCTOBER 1988
QUILL FILESAVER
More than once, my QL has mangled
a long Quill document through
poor disk or microdrive Ll/0.
Either I removed the cartridge
before closing a file, or the QL
tried to write part of the file
to a non-existent track on the
disk or the QL crashed. The
result is the same - any attempt
to reload the file into Quill
results in a File 1/0 Incomplete
error, disasterous if you forgot
to periodically backup your work.
One such encounter forced me to
take a deeper look at how Quill
files are stored. 1 could do
this with “BGET", which reads a
Single byte from a file. Most
disk systems and taolkits have
this command.
l_used BGET to print out the
Qhumeric value of every character
dn my partially-corrupted Quill
file tao learn its structure and
so recover at least part of it.
The most striking discovery was
that Quill files use the Bull
character ([CHR$(0)] in place of
Carriage Returns. I also noticed
that a good portion of the Quill
file is formatting information,
stored tawards the end of the
file. It is mostly strange con-
trol characters. All the text was
Present, but some formatting
information was cut off during
the incomplete SAVE.
1 tried renaming the file with a
LIS extension and importing
that, but Quill didn't like the
NUL's and stopped importing the
file at the first occurance of a
NUL.
Sa 1 had to figure out a way ta
extract the ‘text’ portion of my
document and re-write it as
straight ASCII. BPUT came to the
rescue and the result is the
listing below. In a nutshell,
the program reads a byte from the
damaged file in channel #5. If it
is a null, it's changed to a
carriage return [CHR$(13)]; 1f a
BoSTUG Sinclair/Timex Newsletter
UPDATE MAGAZINE
UPDATE MAGAZINE
REPRINT FROM: BoSTUG Sinclair/Timex Newsletter
contro) character ess than
SPACE (CHR$(G2)] but not CR), it
is changed to a space. Otherwise,
it is a regular ASCII character
and left as is.
The now ASCII character is writ-
ten ta the new file in channel#6.
The character is also printed to
the screen so you can watch as it
goes through the file. Then the
loop repeats ior the next
character until there are no more
characters to read. What is left
is a plain text file which can be
imported into Quill. 1 was able
to recover a 15 page document
this way, though it took about
ten minutes ta do so.
Hopefully you will never need to
use this utility, but if you do,
here it is.
- Jim Rodlin
10 REMark "“Filesaver"
20 REMark Corrupted Quill file
30 REMark recovery utility
40 REMark by Jim Rodlin
50 REMark Requires Toolkit
60 REMark commands BGET & BPUT
80 REMark In the public domain
90 REMark Attribution requested
100 FLP_EXT: REMark or TK2_EXT
enable extended command set
110 CLS
120 OPEN#S, “mdv2_MYFILE_doc”
: REMark file ta save
130 OPEN_NEW#6, "mdvi_BBS_1lis”
+ REMark output ASCII file
140 REFeat loop
150 =BGET#5, a%: REMark get byte
and put in a%
160 IF a% =0 THEN LET a% =13
REMark convert null ta CR
165 REMark replace all control
chars with SPACE
470) «OIF a% <G2 AND a% <>13 THEN
LET a% =32
180 REMark print character to
screen for visual feedback
190 IF a% =13 THEN PRINT
: REMark Carriage Return
200 «IF a% <713 THEN FRINT
CHRS$ (a%);
210 BPUT#6, a%: REMark write
ASCII byte to _LIS file
220 END REFeat loop
2.9 September/October 10988
OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
me fl een
By: Bill Jones
Here we go! Being a beginner myself with the QL, I ama bit intimidated by the
thought of writing an instructional series. I hope that those of you who are
better qualified will Koreckt my mistooks, and broaden upon the subjects covered.
Then the subscribers will benefit from your inputs. So dont think that I will be
offended by feed back that tells me when I'm wrong and gives mre detail to the
coverage. We want a interchange of programming information. IF there are 8000 QL
users, THEN 4000 KNOW SOMETHING that I dont. THEN IF half contribute, it is. sure
that at least 4000 will gain more knowledge. Thats what its all about.
This will be a continuing feature article. It will grow in complexity as the
scribe's proficiency grows. Right now, the scribe has about 30-40 hours experience
operating the QL, so it isn't likely that you'll find anything that is “above your
head" in these first few episodes. In fact I am strevin and strovin to make the
QLWP program zap this stuffin onto the paper. WHICH makes a good starting point.
Lets get started now covering--—
HOW TO DO IT WITH QLWP
IF you have dug around as I have between the four sections in the back of the QL
manual, you know that these books were not written in a1, 2,3, sequence that lets
you get right to it. I believe that, for this discussion, we should start with the
printer itself. If you have a SERIAL printer, just connect the cable directly to
the SER 1 or SER 2 port at the back of the QL. Lets use the SER 1 port. But if
you have a PARALLEL printer you will need one of the Parallel interfaces connected
between the printer and the QL SER 1 port. I was most successful by setting the
printer to its start up initialization set up, ie, no margins set, no LINE FEED, no
auto PAGE end, and ELITE 96 character lines, and 66 lines per page.. These are
“dip switch" settings on the printer itself. Later we can come back to the printer .
switch setting if we need to. Generally, most users do not know enough about their
printer, and there is a need to study the printer manual to know how to set it up
for the best printing.
Now that we "think" that the printer is set up right, lets turn it off. Turn ON
the QL and keep Micro drive #1 VACANT until the Fl Key has given you the blinking
cursor. Then INSERT a blank MDV cart in either of the slots and FORMAT it. Now
that may be a problem for the first time user. Most of the MDV carts in use are the
ones that have had the “write enable" tab removed. If you are accustomed to using
disk drives, the MDV cart is "write protected" by REMOVING the tab that covers the
little triangular notch in the right hand edge of the cart "as you are looking down
on the label". In order to FORMAT the MDV you need to cut a thin piece of tape to
stick over the notch. I find that the best tape to use is a piece of Disk Write
Protect tab, cut across with scissors to be just slightly thinner than the width of
the shoulder of the MDV cartridge. This way, the tab is not rubbed off when it is
inserted in the micro drive. Once the “write enable tab" is installed, the mdv cart
will FORMAT, with the command: FORMAT mdvl_buwp Bu indicates that it will be a
Back Up cartridge for QLWP. Format the mdv cart TWICE, using the same procedure.
From what I'm told the mdv cart will be more reliable if it is formatted twice.
Next, we want to make a back up copy of the Word Processor cartridge. Do that
by installing the original cart in mdvl and the one just formatted in mdv2. Type
dir mdvl_ and touch ENTER. The directory of the master cart in mdvl will appear
on screen. Then, using the directory as a guide, copy each file listed in the
directorj using: COPY mivl_name TO MDV2_ After all files have been copied stash
away your master Word Processor cartridge for safe keeping.
Now we are readyto go to work. Now install your back up cart you just made into
the MDV1 slot. Next we will setup the software for your printer.
30
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
Taking a little break from the details, the first page did print, so I'm
becomming an expert fast! Well, not quite, as I really didn't want that page number
and I dont know how to kill it. Anyway, for the most part it does prove that I've
been the route that I'm about to tell you about, which is--
HOW TO CONFIGURE FOR PRINTER
Now what we're gonna do is to CHANGE part of the QLWP software to make the word
processor print with the type of printer that you use. Dont worry about making a
mistake, as nothing you do will hurt the software, and besides, you are working with
a back up copy. Your equipment status should be: NO micro drive cart installed-- A
RESET QL, Fl touched to give the blinking cursor-- PRINTER OFF. When you have that
status, then: INSTALL the QLWP back up cart in drive 1. Type; drun
mdvl_install_bas ENTER. Wait until the first menu comes on screen, and THEN:
follow the prompts to select the PRINTER TYPE. Usually this is all that is
required. But I had to be different! I use a DAISY printer that has the Diablo
compatable command set. So, after quiting this install_bas program, the printer
would kick up 6 lines before starting to print, print 3/4 of a page and then print
the page number. Now tell me WHO wants that kind of a page of print? SO, back to
<lrun mdvl_install_bas> again- and again- and again. Next day, I called ole Bill
Cable and got straightened out. Now this mought help you too: "READ THE DURN QUILL
SECTION"- all of it! The durn install_bas program was set up right after all. ‘The
problem was in my not understanding how to trapsy about in the WP menus to DESIGN
the page. So, what I'm telling you is that the procedure of setting up for your
printer should work out OK. When finished, what you have done is to bring up YOUR
PRINTER's command set as the one which will boot in when you use QLWP and select
PRINT at the word processor menu. After you select your printer type, the mdv runs
and re-records your printer set up so that it boots in for printing. Later, you can
go back and lrun the install program again to set up for a different printer. Now
that we have that done, lets create a document with the word processor program---
WORKING WITH QLWP
Insert you back up copy of QLWP in mdvl, and RESET. When the QL has reset, Fl
starts the program loading and you have time to pour a cupa while waiting. Now
there isn't any point in draging this out, as the WP works very well with its menus
guide you. The important part is to use F3 to get the COMMAND menu and set up
the page with D-Design and M-Margins. Likely you wont need to use H-Header, as this
is a repeating header for every page. To doa single header, I find it best!ype
the header and back up with the arrow key to its start, then pad in spaces to center
the header. Then run the cursor to the end of the header and use ENTER to shift to
the next line. When ready to print, F3 again gets the COMMAND MENU, where P-PRINT
will start the printing sequence. Now we will move on to another way to use the
QLWP program for doing controlled LISTings of programs.--
USE QLWP for LLISTings
Some folks never need a paper listing of software. But others need to do that
quite often. One can get a LLIST in the direct mode (cursor flashing) by: <OPEN
#4,serlc:BAUD 9600:LIST>. This makes LIST go to the printer. BUT- The listing
splatters across the whole page, 96 characters wide if thats what the printer is set
at. Most printers wont let you confine print with printer settings to less than 64
characters per line. I particularily need to LLIST at controllable line width for
printing listings in UPDATE. So, back to the phone for answers. Ole Mark, at
Sharps Inc. does more than just sell QL stuff. He's a programmer too, and‘he told
me how to do it with the QLWP software. Here it tis---
Load the QLWP program with Fl. Then use F3 to get the Command menu. Punch
O-Other, then I-Import. Next, the prompt appears to key ina MDV file to load.
Input <mdvl_name> and the next prompt asks for "by line?". Touch ENTER at this
point and the program lines load into the Word Processor as a ASCII file.
3
UPDATE MAGAZINE i OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
After a short while the entire program listing will load into the Word Processor
and the program lines will appear almost like you would see them in the Basic mode.
But the listing is TEXT, and can be formatted as text. Hit F3 for the Command menu,
then D-Design, then M-Margins, and set the margins for whatever line length you want
to print the program listing. Then F3 again to P-PRINT. Thats all there is to it!
AND alla time I was digging through the manual trying to find a RAM address to POKE
to get shorter lines in a LLIST. This is a better way after all..
By the time the next issue rolls in maybe Iwill have learned a bit more to
present in this QL BEGINNER COURSE. If you have things that you are bothered about
with the QL, but are ashamed to ask, this is the forum for discussing them. I'll
even let you remain anonymous. See you next issue!
A QL PRINTING PRIMER
Here is a little tutorial for setting up the QL to print to paper "without a word
processor". It does not do much but print un-formatted lines to the left margins as
set at the printer. But, it will demonstrate how to make a printer print with
simple programming. You can key the lines in and operate it with either RUN or GO
TO 5. Line 10 gets the INPUT typing routine at line 200. Then when finished, ENTER
executes the RETurn at line 220. Then line 20-28 presents a menu of options. When
<1> PRINT is elected, the typing data is printed, and the program repeats to get the
next typing burst.
The tutorial about “output to the printer" begins at line 50, which executes when
<l> PRINT is elected. <OPEN #4,serlc> OPENS the CHANNEL to the printer “through
Serial Port 1". Then the “baud rate" is set to 9600. Line 60 then uses <PRINT
#4,a$> to print the data. <print "#4"> directs the print to the "channel that was
opened", Look at the lines 70 and 80 which executes the other two print options,
for "line space" and "LIST to Paper".
When <5> QUIT is elected, line 300 executes, and is important to note. When a
CHANNEL has been OPENED, Channel #4 in this case, the channel should be CLOSED when
finished. There are many CHANNELS to route the computer's tasks though. Each
channel should be OPEN only for the task to be accomplished, and if the channel is
not CLOSED afterward then the next task to be accomplished could be sent to the
wrong OPEN channel. x
The Print Tutor Listing The programming at left could be
condensed a lot by chaining the
5 CLS different programing commands
10 G SUB 200 using a colon between. For
20 PRINT "Options:"\\"<l> Print the data"\ example, all of the lines from line
22 PRINT "<2> Line Space"\ 5 through 30 could be inclosed in
24 PRINT "<3> INPUT New Data"\ one longer line of programming. I
26 PRINT "<4> LLIST"\ used extra lines in order to make
28 PRINT "<5> QUIT"\ the tutorial easier to decipher.
30 INPUT a:CLS Also, the IF THEN conditionals
40 IF a=3 THEN GO TO 10 used are in "simplese" basic syntax
50 OPEN #4,serlc:BAUD 9600 which the QL reacts to nicely. You
60 IF a=] THEN PRINT #4,a$ can use almost all of the simple
70 IF a=2 THEN PRINT #4,\ Basic syntax of the older computers
80 IF a=4 THEN LIST #4 with the QL, which makes it a very
90 IF a=5 THEN GO TO 300 easy computer to adapt to. We will
100 CLS:GO TO 20 ease into QL Basic and Super Basic
200 PRINT "Type the Data"\\ as this series continues.
210 INPUT a$
220 CLS:RETURN
300 CLOSE #4:STOP 3.2
UPDATE MAGAZINE OCTOBER 1988
UPDATE MAGAZINE
OCTOBER 1988
SINC - LINK
Voi. 6 No.4 JULY ~ AUGUST ‘88
SINC-LINK 15 A PUBLICATION OF
icon ee HIGHLY RECOMMENDED!
C ; f
TERR, COPIES OF THE NEUSLETTER | user c1uo ie one af the most
.5@ EACH FOR NON-MEMBERS, active clubs in North America.
CLUB MEMBERS RECEIVE A FREE COPY | [0.0% UPaaze’s best weitere are
AS PART OF THE $28.08 ANNUAL | 200 mitcnel! and George Chambers.
SINC LINK, the club newsletter
HEHBERSHIP FEE. is an excellent source of
information. The Toronto User
Group has many USA members and
welcome more.
NEWSLETTERS ARE EXCHANGED, FREE ONTARIO GL USERS TAKE NOTE!
OF CHARGE, WITH OTHER TINEX- | Join the Club and form a special
interest group ;
: SINCLAIR USER GROUPS, Sinclair Gpecial interest Club! .
Club membership and participation
is the best route ta take for
continuing to learn more about
your computer. -ed.
au MATERIAL ae, PUBLIC COMAIN
TORONTO TIMEX - SINCLAIR USERS CLUB
P.O. Box 7274 Stn. A Toronto, Ont., MSW IX9
Canedo
GDothER fiye Club
Dear Bills =
Iam sorry for the delay. The heat is getting to me and I have been Lax
in my duties. Enclosed is @ little discription of our group as you asked
for. ely
Our group is called Sinclair Milwaukee Users Group also called SNUG. He
were established in 1983 and work with all forms of the Sinclair computers
and their clones. He have ZX80's, ZX81's, TS1500°s, TS2068's, Spectrun’s
and Spectrum enulater’s, and the Ql. He are in contact with 22 other Users
Groups around the U.S. and Canada and swap newsletters with thea,
He meet once a month on the second Hednesday of the month, our next
meeting is July 13, 1988, The place we meet is in Elm Grove Hisconson, a
suburb af Milwaukee, and called Yerbrics’ Inn. He chose them because of the
hall size and centralized location.
Our membership fee is #15 for the individual or #20 for a family. This
entitles you to library privileges, you must check them out in person, our
newsletter, you can pick this up at the meeting our Supply us with SASE’s
and I will mail them to you. The newsletter has a Sdbscription rate of #10
per year, this includes mailing.
Siachain (Ul WAUKEE ,
SER GhouP ~ A hive
Biach §
Hope to see you at a meeting.
Bill Heberlein, YP sHUuG,
5052 N. 91st Street,
Milwaukee, HI 53225
3 .
UPDATE MAGAZINE ee OCTOBER 1988
UPDATE MAGAZINE
HSCRIPT VERSION 5.3 FOR LARKEN DOS
SOFTWARE REVIEW by Bob Mitchell
. e30g14
My long-awaited copy of Version 5.3 of MSCRIPT by Jack Dohany finally arrived early in June of this year. Because |
had told him that [ was using a non-standard, earlier version of the Larken DOS; he sent the program on cassette, to be
on the safe side. I was delighted to find that a back-up on disk was readily made by selecting DISK on the main menu and
then pressing B.
Documentation was on paper and the only other program on the cassette was the LCODES text which contains all the
various codes that a wide printer | would recognize. I understand that the disk version contains all the docunentation as
tiles.
The main problem that I had had with ay earlier version MSST was one of the printer dropping characters every now and
then. This problem has been resolved, I am happy to report.
The cost to se for the new version was US$25 which included $5 for mailing and handling. The program is so such better
than the earlier version that I was happy to pay the price.
Here are sone features of MSCRIPT (not necessarily in order of importance) that make the program quite attractive and
aake we a convert!
te Finding and Changing any string of up to 30 characters is simple and very fast.
2. Headers and Footers (titles at the top and bottoa of each page of a document) are easy to add.
3. Moving, copying, deleting, saving and loading blocks of text is fast, easy and very professional, with markers used
to identify the block to be worked on.
4, The cursor moves very fast across the page. There is also a tab feature that is very useful when developing tables
and lists.
5. When making a back-up copy, it is optional to include the text as part of the back-up! ideal for eaking a version
that includes, say, a letter head for page 1. If you want to make a LAREN AUTOSTART copy) this can be done by using
(CLEAR 4SD00!RANDONIZE USR 1C2sFUN>. You have to CLEAR a higher address if you include any text in your save. .
b. View Nemory allows you to PEEK and POKE the contents of memory} this starts at the LCODE file which is handy if you
want to inspect and change any printer control codes.
7. The nape of the text you are working on appears on the home menu, I find this to be very usaful particularly as 1
hap from text to text fairly often. It let's ne know where J am at the sonent. The GIVE NAME command allows you to
assign or change the name of your text at any tine.
8. There is an alternative fattened character set that makes reading the text on my aonitor auch easier. The use of
different screen colours is restricted by the 752068 hardware and I have settled on white ink on black paper as the best
for ne.
%. The disk catalogue in the selected drive can be added to the text in progress. The drive is selected by entering a
nuaber from 0 to 3 (ie, 1 to 4 respectively). The LARKEN Randisk is selected with <4) and this can be accomodated
easily by changing lines 131 and 132 in the BASIC with no addition to the BASIC length.
10. The new LARKEN Version 3 EPROM uses the token MOVE to call a file rename routine and this was easily added to the
hone menu by a few lines at line 220 in the BASIC, Watch gut for an out of meory report here. I had to sacrifice lines
420 to 440 (VERIFY, which I seldom use anyway) to make rooa for this.
11. 1 like being able to put coment lines in the text to serve as reminders to ae and that won't 3 appear in the
pelataite: Tab settings are one wanele a5 you have to resat these whenever they default to their normal settings.
One thing that could be better! It's too easy to stutter in rore spaces than wanted vhen entering text. iovevers on
right Justification, these extra spaces are not really noticed.
HSCRIPT is a totally different word processor from TASWORD which I have used for some tine and which has its devotees.
But there are so pany advantages to MSCRIPT that 1 have bequn to switch over to it for my word processing tasks. Once
you gat used to the protocol and press the right keys, MSCRIPT is just as easy to use as TASWORD and a lot acre
rewarding. I recommend the purchase of MSCRIPT Version 5.3 and look forward to experiaenting with Version & when it
coaes along. Hurry upy Jack! 3h
UPDATE MAGAZINE OCTOBER 1988
REPRINT FROM SYNC LINK
UPDATE MAGAZINE
2068
LARKEN RAMdisk for the TS 2068
by George Chambers
Qur last newsletter carried an article by Greg
Lloyd, describing a RAMdisk unit that he had recently
obtained from Larken Electronics, 1 have recently
purchased one of these units, and should 1ike to tell
something of my prograsming expertences with it.
Firstly, when I got it I could not figure out how to
use it effectively. After all, while it can contain a
total of 256K memory, mine only came equipped with 64K
and there really ts a limit as to how many program one
can hold with that. Which programs should I place on
it, ete?
On top of that I already had a second drive on my
system that seemed to be only used when 1 wanted to
copy @ program, Of what use was another bit of
expensive memory. And it 1s expensive, 1f compared to
the memory capacity of a disk. A disk will hold 360K
and costs about 65 cents. A 32K SRAM chip costs about
$15, And the RAMdisk is really a solid-state drive,
not a memory expansion to your computer. That is to
say, you still have oniy 38K of memory in your
computer to play with, The RAMdisk memory {s not
bankswitched in to the computer; it it loaded into the
computer memory the same as from a conventional drive.
However, despite this unpromising prospect 1 have
found a very fascinating application, What I have done
{s to place 58 of my most useful utility files on a
single disk (I call {t my OMNIBUS disk), and installed
it in my second drive.
1 then placed the several menus (the menu program
Misting in the Nov/Dec '87 Issue of this newsletter)
required to access these files into the RAMdisk. In
the beginning I had one AUTOSTART (menu) program, and
several other menu programs {.@, menu.81, menu.B2,
etc.,that | called up from that AUTOSTART menu. I
found that presently 1 had used 7 of the 12 available
tracks on my RAMdisk; horribly extravagant. (The
RAMdIsk uses the same tracks formt of the other
drives)
It was then suggested to me that I combine several
menus into one program. This made sense, because as {t
was I was storing a program of about 1500 bytes onto a
5090-byte track. The other bytes, 3410 of them, were
lost. 1 started combining menus onto a single program,
and now 1 have 5 manu screens combined. tore will
follow, 1 use a menu option to move to the various
menus.
Most of the programs themselves are on the OMNIBUS
disk, installed more or jess permanently fn the second
drive, and are called up from the menus obtained from
the RAMdIsk. Where a program 4s called up that resides
on other than the OMNIBUS disk, the menu displays a
request onscreen for that disk to be placed into the
first drive, PAUSE's until you indicate 'ready' by a
keypress, then loads from that drive.
SINC-LINK
UPDATE MAGAZINE
Larry Kenny has revised his 00S EPROM, yiv'ng a new
command which has proved very useful in = this
application. The format of this command is PRINT USR
100: NEW (or PRINT 443 NEW). This provides a ‘warm'
AUTOSTART capability to the 00S.
Luse it this way. 1 have modified many of my
programs to provide an exit from the program. The exit
normally would take you to a STOP command. To use
this new 00S command | terminate a program to the
following line sequence.
LINE 9000 PRINT #4: GOTO 4: PRINT #4: NEW
The ‘GOTO 4" points the 00S toward the RAMdisk and the
“NEW initiates an AUTOSTART routine in the RAMdIsk to
bring up the ‘menu’ program. The effect is to bring up
the OMNIBUS disk menu at any time from within a
Program with a single keystroke. Note that this new
command 1s for all drives; it's use 1s not confined to
the RAMI sk.
This new 00S command also offers another
interesting programming possibility. Invoking the
"PRINT #4: NEW* command will bring up an AUTOSTART
program in the drive to which {t is pointed. It does
this without shutting down the computer. Thus, any M/C _
program presently in the computer (so long as it is
not overwritten by the AUTOSTART program) remains in
place awaiting use.
larry advises that this command is in Yersion 2 of
his 00S EPROM. Sefore you all rush out and ask him for
it, I suggest that you wait until he has had a chance
to incorporate some other features into the 00S, that
he speaks of doing, Improvements to the printer
driver, and changes to the NMI routine, [ have heard:
among others,
Now, I could hardly reconmend that everyone go out.
buy one of these RANdisks. Sut what I have found 1s
that for those persons with two drives it certtanly
maximises the use of the second drive. And it most
assuredly reduces the number of keystrokes required to
operate the Larken system, plus reducing the number of
drive startups by possibly a half. And of course it is
silent and speedy, when compared to a regular drive!
sraneneenennten
Newsletters need news!
Write and tell us what
you know!
Anything (almost!)
will be printed
35
OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
REPRINT FROM SYNC LINEVVORIAL (TS2068 & SPECTRUM)
CHANNELS & STREAMS - A TUTORIAL
Sam
Let’s delve into the mysterious realm of channels = and
streams and those two odd tokens OPEN # and CLOSE i.
These two comands are extremely powerful and have
many uses and yet there is nothing at all about them
in the TSZ0S8 User Manual except to say that “these
and other comands like FORMAT, MOVE, CAT etc will be
used with future peripherals". Well, by now we know
that many of these are indeed used with the disk drive
interfaces. But, long before DOSs came along, it was
apparent that OPEN # and CLOSE # did have a role! to
play with the basic machine. Much of this has to do
with the opening and closing of channels and streams
with respect to the TSZ2040- printer and the TS2068
keyboard and screen. :
The TSZ068 communicates with peripheral devices with
the aid oF the channel information area which lies
stween the system variables and the BASIC program,
s area starts at address 24680 and ends at 267008,
Just short of the program area which startsy normalluy
at 26710. A shurt program given in the listing below
will pring out all the information on channels and
streams. Part af its output is shown below as Table 1
(with some explanatory notes); the code has been
divided into S-byte blocks, , each block representing
one channel. ;
TALE 1 — CHANNEL INFORMATION AREA
Address Chan Value Notes
dst 2 bytes = ROM add.12 (Ou ‘
(5#2596+0) 2ROM PRINT routine. i
Znd 2 bytes = ROM add. 3086d ‘
(L2e2964+14)3 get inpul key.
Code for lekter "KK"
26489
26690
24693 ist 2 bytes same as for "KK".
2O694
26695 2nd 2 bytes = add. 45433
26476 input routine called.
26597 Cude for letter "
26498 This bleck is reserved for
BO679 use by the computer and
26700 sis, not available to the
26701 “user. : z
26702 Cove for’ letter
“1st 2 bytes also point to
1280d: ROM Print routine,
36
(c)1988 Bob Mitchell ‘
UPDATE MAGAZINE Page # 1 of 5 OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
TUTORIAL (TS2048 & SPECTRUM)
REPRINT FROM SYNC LINK
26705 L9L Input routine called;
26706 17 (see explanation below)
26707 80 Code for letter "
When the TS2068 is switched an, 21 bytes are copied
from address 4522d in the ROM to the channel info area
where they may be altered by the user.
In the fourth bl (Channel "P"), addresses 26703 and
26704 point to the ROM PRINT routine at 1280d (0500h).
These are often changed to point elsewhere (eg. in the
Aerco preode, they are changed to <5> and <251>
respectively which equates to 64261 (the start of the
prcode routine). Once these two bytes have been
changed, all printing will go via Channel "P" to the
<preade> routine. To get back to the TS2040, these two
bytes must be restored to <O> and <5> respectively.
In Spectrum these 21 start-up bytes are in ROM 555id
and are copied to the Spectrum channel info area which
resides at 23734 to 23754. Addresses 23749 and 23750
equate to 26703 and 26704 in the TS2066.
Summing up, each block represents a channel and
contains five bytes: the first two represent the
address of the called output routine (normally in the
ROM); bytes 3 and 4 represent the address of the
called input routine} finally, byte 5 is the code of
the character representing the channel.
Channel “S" stands for "screen" and handles the output
to the monitor or TV display. Channel "P" stands for
the "printer" and handles output to this peripheral.
Channel "K" stands for the keyboard but handles both
output and inputy it inputs from the keyboard but also
outputs to the lower part of the screen display.
When the PRINT comand is used, the output goes
through channel “S" to the main (upper) part of the
screen. By careful use of the OPEN # command, the
output can be made to go through any other channel.
Streams are associated with a specified channel and
there are 16 streams available (0 to 15). Using the
PRINT command normally sends the output through stream
"2" to channel "S". To’ make the PRINT command go to
channel "P", it is only necessary to open stream 2 to
channel "P*. This is done by the command <OPEN
H#2y"P">. Note that this instruction has two arguments
the former first tells the computer which stream is
37
, (21988 Bob Mitchell }
UPDATE MAGAZINE Page # 2 of 5 OCTOBER 1988 '
REPRINT FROM SYNC LINK
TUTORIAL (TS2068 & SPECTRUM)
being altered and the’ latter identifies the single
character of the channel to which the stream is to be
directed.
If you type <OVEN #2,"P"> then <PRINT “test" tPAUSE OF,
the PAUSE O command prevents the input routine being
called which would print an error report (bytes at
addresses 26703 and 26706 call the ROM routine at
address 4543). Without the PAUSE 0, the printing would
be immediately erased.
At switch on, only four of the 16 streams are opened.
Stream O points to channel "K"
Stream 1 points to channel "K*
Stream 2 points to channel "S*
Stream 3 points ta channel "P®
When a stream has been opened to a different channel,
it will continue to do what it has been directed to do
until told otherwise. A channel may be clesed by the
command <CLOSE #n>. where n is any number from O to 15.
Also, a channel may be closed by pointing the stream
to its start up channel. For example, if stream 3 has
been opened tu channel "S", it may be closed by the
command <CLOSE #3,"P". This example would send all
LPRINT and LLIST commands to the screen until it is
told to revert to normal. This is particularly useful
to the programmer during the debugging process to look
at the results of the LPRINT commands on the screen
rather than waste printer paper.
When a stream has been opened to the printer, the edit
line (lower screen area) is unaffected} in fact, any
| PRINT #0 or PRINT #1 commands will continue to display
on the lower screen. Use of the hash symbol SH
followed by a ¢0> or <1> changes the print stream to
the lower screen. PRINT, LIST; INPUT and INKEY$ may
all have their output affected this ways their default
value is stream 2 (the upper screen); that is to Sadr
PRINT #2 is the same as PRINT and PRINT #3 is the sane
as LPRINT; etc. ;
Type in the following listing and save it} then use ait
anytime you want toa check the current status of
channels and streams.
3 REM This program works in
either TSZ2068 or Spectrum
5 REM ssescesesseeecesesees
& REM Use GO TO 10 for info
on channels & streams.
7 REM Use GO TO 200 to PEEK
: 38
UPDATE MAG
er ad (61988 Bob Mitchell OCTOBER 1988
Psroe # tnt & $
OCTOBER 1988 UPDATE MAGAZINE
REPRINT FROM SYNC Link YTORTAL (TS2068 & SrEeT RUN
stream info in system
variables. Use GO TO 220 to
PEEK channel info area up to
start of program area.
9 REM = Same
10 LET a=PEEK 23631+256*PEEK 2 tstart of CHANS
3632! LET bea from sys variables «
20 IF PEEK a=128 THEN GO TO 70 ast byte in table
30. PRINT "CHANNEL "“§CHR® (PEEK channel letter
Lat4)) .
AO PRINT "Output Address=";PEE foutput address
K atQ5o#PEEK (atl) 7
50 PRINT “Input Address=";PEEK input address.
Cat2)+2546"PEEK Cat3) i
60 PRINT ? LET aeatS? GO TO 20
70 FOR a=23574 TO 23605 STEP 2
QO PRINT "Stream "3(a723574)/2 tstream number.
STAB 105
90 IF PEEK at256*PEEK (atl)=0 sclosed channel
THEN PRINT "CLOSED": NEXT a? STO
P
100 LET c=(PEEK atZS6*PEEK (atl channel letter
V)+b4+3
110 PRINT "points to Channel
CHR PEEK ct NEXT a
120 STOP
130 RANDOMIZE USR 100: SAVE "ch SLarken SAVE routine
ans-Bi" LINE 10
140 STOP
200 FOR i=23568 TO 23605: PRINT ‘addresses of
i,PEEK it NEXT i channels attached
210 STOP to streams.
220 LET prog=PEEK 23635+256*PEE ‘start of prog area
K 23638 :
230 FOR i=b TO prog-ii PRINT i, texamines chan
PEEK i;TAB 20;CHRS PEEK i AND PE info area up to
EK i>=32 AND PEEK i¢=90: NEXT i start of prog area
The FOR...NEXT loop in line 200 will display a copy of
38 bytes in the system variables area containing the
address of channels attached to streams. Each stream
holds two bytes which accounts for 32 bytes and the
extra 6 are used by the internal editor and automatic
listing routines. Each two bytes contains a relative
displacement, from the byte before the channel info
area, to the channel that is pointed to. A zero means
that the stream is closed. —
For Larken users, note the extensive use of OPEN # in
the extended BASIC commands available and particularily
note that when any or all windows or large printer
channels are opened, 38 bytes (total) of memory are .
3.9
: (¢)1988 Bob Mitchell
UPDATE MAGAZINE Page # 4 of 5 OCTOBER 1988
R-1988 UPDATE MAGAZINE
REPRINT FROM SYNC LINK TUTORIAL (TS2068 & SPECTRUM)
This changes
added to the channel information area,
can
the location of the start of the program area and
cause a problem if there is machine code in a REM
statement in the first program line. (This problem can
be avoided by PEEKING the start of the prog area and
then using this value plus 5 as the call address for
the machine code routine in the REM statement; eg:
KLET x=PEEK 23635+256"PEEK 23436: LET xext51 RANDOMIZE
USR x>). In these 38 bytes which you can examine by
using line 220 of the listing, you will find that new
channels have been set up at the beginning of what was
the start of the program area.
An interesting and illuminating exercise is suggested |
for Larken users?
-*LOAD “Chans.Bi">,ie, the listing above.
.Open some of the Larken extended BASIC channels.
.Try <RANDOMIZE USR 100! OPEN #4,"dd">.
«Then <PRINT #4: OPEN #5,"wO">. ) These will
«Then <PRINT #4! OPEN #6,"wi">. ) open three
«Then <PRINT #42 OPEN #7,"w2">. } windows.
wNow use the listing above to look at what has
happened. Try doing the same thing with the Spectrum
emulator in place, if you have one.
I?ll leave the heavy thinking to you at this point.
What I have written will pose some other questions and
I look forward to someone else expanding on this theme i
in some future issue.
(¢)19G8 Bob Mitchell
Page #5 of 5
FEIT IIIT III IEE
*
* felrieletetelele} 222222222 XX xx *
* eaaaaaeaaa 22222222 xX xx *
* Qa aa Zz XX XX *
* aa aq 2Z XXX *
* aa ae zz xXx *
* cele} aa aa Zz XX XX *
* rieletrieteleicleley 22222222 XX xx *
* feleleleieieleley 222222222 xX xx *
* aa *
* *
2H EHH HIE
The Journal Covering Amateur Radio & Sinclair Computers
2X-88; Micro-Ace; ZX81; T/S 1000, 150@, & 2068; QL
Alex. F. Burr, KSXY, Publisher
2825 O’Donnell Drive
Las Cruces, New Mexico
$9661
SUBSCRIPTION $15 PER YEAR. SAMPLE ISSUE FOR SELF ADDRESSED
STAMPED ENVELOPE WITH $6.45 POSTAGE.
—— SSS
UPDATE MAGAZINE 40 OCTOBER 1988
UPDATE MAGAZINE
TELECOMPUTING, WHERE WE STAND
By Bill Jones WD4FJI
Back in 1948 Television came into the homes of America. Almost all people thought
of TV as an adjunct of RADIO. Radio was THE INDUSIRY, and TV was thought of as a part
of it. Of course, TV became its own industry. This bit of history is used to make the
point that TELECOMPUTING is destined to become a giant industry of its own. Another
illustration: If one looks down upon a ant bed, one sees much activity, but all seem
to be going in different unorganized directions. Telecomputing is kinda like that
today. Telecomuting is now riding piggy back on two existing industries, Computers and
Telephone. But a break-out is about to happen. Amateur Radio Operators are leading
the way. Most think of "HANS" as guys pecking away sending and receiving "di dah dits"
and making not so funny interfering lines on TV screens.
But many HAMS now are operating computers and are involved in a form of
Telecomputing called PACKET. The principle involved in Packet is the use of Radio and
Computers to Communicate. Most of us are aware of Modem Communications with computers
via telephone. I became acutely aware when I received a shocking telephone bill a
month after getting my modem. PACKET bypasses the telephone, and provides direct
computer link up via radio.
NO TELEPHONE BILLS!! But, as with any fledging industry, there are problems, and
there are "turf fights". AST wants the business and would like to confine
Telecomputing to the use of their telephone network. As more computers with modems
come on line, local telephone organizations want to develop means of charging for
service. The HAMS have a good thing going with Packet, but the Federal Communications
Commission regulates Amateur Radio and confines their activities to "Hobby Use", no
commerical operation allowed. Hams can operate with Packet, but ordinary folks who are
not licensed radio operators cannot operate Packet. It's against the law.
During the latter five years of the 1960's, the Computer population skyrocketed from
less than 1% of homes having computers to more than 40% by 1968, and will be up to 60%
before 1990. The natural progression is for families to take advantage of the
computer's inherent ability to communicate with the surrounding World. To accomplish
this step there must be a breaking out and away from the confines of the telephone
industry and the Federal regulation of communications, which is now the most limiting
factor. Of course, there must be an organized way to accommodate the tens of millions
of people who will be using computers to communicate. Otherwise there would be chaos,
everyone trying to communicate, but interfering with each other. This is the next step
that must take place between Government and industry planners.
I would invision the decade of the 1990s bringing in a coordinated "starter plan"
with Federal regulations licensing telecomputing via satellite, similiar to Packet,
plus UHF repeater nets, and local cable service. As the industry builds, and
commerical applications expand (profit potential), we will see the Television industry
wanting to get into the act, and TV will become a valuable partner to Telecomputing.
Each TV channel can accommodate quite a number of discrete side band channels for
computer communications without interfering with their regular video programming. One
could just subscribe to the service and plug their computer modem into the TV set to
receive a daily schedule of services.
In the meantime, awaiting the break through, and the concerted organization needed
to thrust telecomputing into tens of millions of homes, a few intrepreneur HAMS are
taking the forefront and developing Packet. Bob Diggs is one of these leaders. His
letter and article that follow reveal some technical problems being experienced and the
level of current telecomputing technology with the Sinclair QL, and all computers as
well.. Read between the lines to discern Bob's personal dedication to the advancement
of telecomputing technology. The following sketch depicts where the industry stands at
present and the paths for expansion during the next 5-10 years.
pseseUT
"1990 99S" EXPAAS Lia AE igo
oe MIs Ex datnaaa Ap
a CM
dese Bett one
18 BAD Lomaaste
Paajermaray sauce AY
OCTOBER 1988
UPDATE MAGAZINE
Bob Diggs, KV3Q
North East, Maryland
August 22, 1988
To: Bill Jones, WD4FJI
Alex Burr, KSXY
Subject: QL on Packet
This memo ig addressed to both of you so that you both will know what is going on
here and can help me get some information to those HAMS who may be interested. I
started a draft of an article for QZX which somehow got lost in a micro drive with a
message saying, "file incomplete". I had made a print-out but didn’t feel up to
re-doing it because of hot weather and too many other things todo. Also, among the
three of us, I dont think that Packet is'all it's supposed to be. There is too much
ORM (interference, ed) from re-trys of hams trying to download a bulletin board list of
messages or nodes that it becomes too difficult to connect for a QLO (discrete two way
interchange, ed) or to get a gang together for an unproto bull session. Never the
less, I do use my QL for Packet, using MIKE_TERM almost all of the time. I am, however
getting ahead of myself.
Alex, what started this memo was a note from Bill saying that he saw my interest in
QL Packet in QZX and wanted to publish the details in UPDATE, a magazine that I am not
familiar with because it has been a publication for the TS-2068, which I dont have. My
Ham interest says to write for QZX, but my public spirit says to write for anyone who
is interested because there are so few out there on QL Packet.
First, do I have anything new or worth publishing? Enclosed is a printout of what I
lost in the file. Writing this stuff is new to me so I'd like to know if I'm on the
right track. Second, I dont know the format to present this material for either
publication. I belong to C.A.T.S. and each newsletter clearly states how articles
should be prepared for publication.
Third, I hope that you can both use it, rather than have it go to one and not reach
some guy or gal who could use it. I dont know much about computers and programs and
such, but if I satkt the ball rolling, someone who knows more can make things better.
So Bill, this is my answer to card. I hope that it helps. Let me know if you are
interested in what I started and I'll try to put it together.
Best regards,
Bob Diggs, KV3Q
Comment by the editor; Bob's address is left off to protect his privacy. Letters
to him mailed to UPDATE will be forwarded. QZX is a monthly newsletter for Ham Radio
operators. QZX, 2025 O'Donnell Drive, Las Cruces, NM 88001. Subscription is $15.00
per year. Those of you who are interested in more about Telecomputing and Packet are
requested to send in an interest card. The amount of response will dictate the amount
of future coverage. Bob's article follows.
PUTTING THE QL TO PACKET
Bob, KV3Q
As Alex noted in the June issue of QZX, I'm
trying and can now say that I'm using ay QL on
Packet. It wasn't easy but I finally made it. A
monitor was one mighty important item, in fact
trying to do it without a monitor was a failure.
My Packet activity is strictly 2 meters, using a
MFJ-1270B TNC connected to SER 2. I have two
Programs on micro drive cartridge, QL TERM by
Richard Moldovan. and MIKE_TERM from the April
issue of QZX. Each has a special use. Each has
different problems and neither is completely
satisfactory. However I am using my QL on Packet
and it is there whenever I want it. SER 1 has my
Citizen 120D printer, and SER 2 is Packet.
My old set up was either the TS-1000 or 1500,
ALPHACOM 32 and a COMLINK II connected to the
TNC. That was a very satisfactory set up indeed,
which allowed me to dump the screens to the
eat This is something that I cannot do with
UPDATE MAGAZINE
Before leaving for South Africa I ordered a QL
to be shipped to our Winter home in Florida and
when we got back in January it was waiting. I
went to the Winter Fest in Orlando and found that
there was no one there who had any idea of what I
was talking about when I brought up Packet. But
I did learn one important thing, and that is that
the QLUG SER2 pin connections are not as printed.
That turned out to be academic, because the
standard SER cable that I bought there works OK
when connected between SER2 and the MFJ TNC. It
‘was suggested that QL-TERM was a good program for
a Modem and possibly might work with Packet, so I
ordered it.
QU-TERM arrived soon after and what a
disiappointment when I tried to use it! I ask
the dealer if my problem could be because I was
using a TV asa monitor. Of course, he couldn't
answer that question. So, Packet went to the
back burner while I concentrated upon finding a
printer that I liked at a price that I could
afford. In the meantime I was wondering if
anyone was getting anywhere with using their QL
OCTOBER 1988
on Packet. The US Postal service did not forward
2X or CIM, so there I was in a black hole. #0 to
speak. and no way out. Then lo and behold,
Michael Mitchell came through with a program in
April QZX. When I put the program on Micro
Cartridge I learned that it needed a Monitor. By
this time I had determined that a monitor was
needed for general use anyway.
When I got the monitor on line, the first
program to try was QL-TERM. It worked but there
seemed to be a problem between the computer and
the TNC. They couldn't seem to communicate
without messing up some of the characters. The
radio communications over Packet seemed to go out
and come back OK despite the garbage on screen.
So. I tried the MIKE-TERM program only to see
single letters scrolling up the left of the
screen. JI searched for the problem but didn't
find it until mich later.
When using the TS-1000, the COMLINK-IT
required a baud rate of 300, so I stuck with that
until I discovered that by switching the INC
switch to 1200 baud the garbage on screen
disiappeared.
At last I had a program working, but couldn't
back space or erase in the normal way. ‘The
solution is to use CIRL H instead of the normal
DELETE. Yet to be resolved is how to duplicate
the screen to printer as I used to do, but that
will come later, I hope. Another bother is that
the CTRL S takes a while to etop the scroll,
longer than the TS-1000 and most likely because
of the baud rate.
Then it was back to MIKE TERM. A intense
study of the program listing revealed a missing
: in line 270 at the end of the line. That did
it, but backspace reared its head again. A
partial solution is to use CIRL H again, but the
lack of cursor means that you are typing without
reference. Now if I make an error, I use CTRL X,
which shows a "/" and scrolls to the next line.
The advantage of MIKE_TERM is that it loads fast.
The disadvantges are, no screen dump to the
printer and no flashing cursor. I then changed
the window to have a program for TV use, and that
works fine. Neither programs have macro keys.
So, that is where I stand with using QL on
Packet. It is working fairly well but there is
still a long way to go. To summarize;
1. Use a Monitor or MIKE_TERM modified for TV
Screen.
2. Ser2 port ping are: I-ground, 21x D, 3=Rx
D. 4=DIR, S=CTS. 6=GRND. 7=GRND. G=blank, 96T/2V
3. QU_TERM: Needs Monitor. 1200 baud. Must
anticipate CTRL S or loge some screen. No screen
dump. Erase and backspace with CTRL L. Can't go
to QL programs when you Quit.
4. MIKE_TERM: Easy to load and use, but lacks
cursor and screen dump, Use CTRL H to erase, but
no cursor makes it hard to use. Use CTRL X to
cancel line and start over again with new line.
Be eure line 270 has a ";" at line end. Modify
window if using TV. Can quit and load Qi
programs and vice versa. A good program. I use
it daily to check my BBS.
T have used two other programs, QOODE and
NK, without success. the copies that I am
using could be at fault. I will try to learn
UPDATE MAGAZINE
more about them and report when I make
significant progress with these or the other
programs. Bob, K3¥Q2——
Ed, comments: Screen Dump to printer is
supported by the special language contained in
the PISON ARCHIVE software. This may be an
avemie to pursue to link with the modem
softwares. Cross talk between those uging the QL
within the telephone modem environment ami Packet
users should be fruitful. UPDATE will open up a
channel for such cross talk in the pages, and
Will publish the names, addresses, and phone
listings of those who have keen interest in
Telcomputing, either via telephone or Packet, and
who would like to establish direct communications
with each other. Hopefully, we can have
something useful in every issue of UPDATE about
Telcomputing with the QL, the TS-2066, Via
Telephone and Bulletin Boards, via Packet, and
via direct telephone between users. The extent
of coverage will depend upon the amount of inputs
from the readers, as there is little "in-house"
expertise on this subject.
FORMAT OF UPDATE MAGAZINE i
Back last year, UPDATE began with a
couple of ideas that became too difficult to
manage. One was Coloured page sections.
The trouble with that is that paper
suppliers have no standard colors. On month
Pink is rose and next month it. is some other
shade. So, I abandoned that Idea.
Another plan was to have sections by
major subject area. This worked out well
for only a few major sections,
Telecomputing, TS-2068 Extra Menory,
Schematics, and The Electronics Data
section. All other subjects seem to blend
together.
This October 1988 issue is the first
issue to be printed by a commerical printer,
and that makes it not to be feasable to
continue with the colored page section idea.
The editor will avoid "skip continuations"
of articles from an earlier page to a page
that is deeper within the magazine. This
will allow those who want to file pages by
subject area to do so.
43
OCTOBER 1988
OCTOBER 1988
& @L Address File
Bob Hartung, 2416 N. Co. Line Rd., Huntertown, IN 46748
Sone like myself who are new Kids on the block with the
GL may be looking for info on getting started in QL
SuperBasic programming. The GL User’s Guide (@LUG) is
something less than a masterpiece of clarity, and most
current publications seem to have moved on to more
advanced topics, so, from the perspective of a rank
beginner, here are a few "QLues* I have stumbled onto so
far. Assuming that not everyone has installed Toolkit I]
CTKT) or Trump Card, I will use only the syntax accepted
by the unexpanded GL unless otherwise noted. Direct
conmand entries will be indicated by <command) with a
slash / between those Keys to be pressed at the sane
tine.
Since the best way of learning is usually by doing
(there are exceptions such as learning what kinds of
wild mushrooms are safe to eat!) I will give the listing
for a SuperBasic program, then explain some of the whys
and wherefores of it. Areader requested a mail list
program, which seems a practical way of illustrating
sone points. Of course the ARCHIVE database SW bundled
with the QL may be adapted for this but all its bells
and whistles and whirring microdrives sometimes seem
overkill for a simple mailing file and printout.
To make this into something for everyone, 1 will also
try to use syntax that can most easily be translated by
782068 (and Beta Basic) users, rather than exclusively-
GL structures and commands that might be more elegant
but less familiar. Purists who are bothered by my use of
subroutines instead of structured procedures may easily
replace the REM labels with DEFine PROCedure name, the
RETurns with END DEFine, and the GO SUBs with the
respective procedure nanes, I ran into an anomaly,
however, on the SORT routine when defined as a procedure
in that it re-orders a file perfectly the first time but
then seems to lose track of some file items on
subsequent calls. I’11 leave that as a challenge for a
sharp T/S UPOATE reader to figure out!
The mininum essentials of a mailing list are to provide
the means of entering, storing, retrieving, and printing
out the files. It is also useful to have the means of
re-ordering them alphabetically, usually by last names,
selecting particular ones for display or printout,
adding to the file, and editing or celeting. This
program will do all these, albeit more slowly than a
whiz-bang machine code or conpiled one. To economize on
Page space a Sé-colunn listing format was used instead
of the 40-column MODE 8 or the é4-column MODE 4, Now
with all these disclaimers stated, let’s get on with it.
For less pain and strain in entering the listing, (AUTO)
a
UPDATE MAGAZINE
UPDATE MAGAZINE
supplies line numbers starting at 100 in increments of
10 or (AUTO n) will start at line n in steps of 10. Use
{CTRL/SPACE) to break out of AUTO. During entries of a
new listing or when editing an old one, (AUTO 10) or in
the same increments as the listing will automatically
bring each line into edit mode and (ENTER) will scroll
to the next. If EDIT n) is used to bring down a
specific line, then the up or down cursor Keys may be
used to scroll other lines into the edit window as long
as ENTER has not yet been Keyed. Of course TKT users
have the many conveniences of full-screen editing but
tor those who don’t have TKT the QLUG doesn’t go into
much detail on how to use these normal EDIT functions to
make life a bit easier.
I would suggest starting by entering line 1540 DEFine
PROCedure sv: DELETE MDVI_addrfile: SAVE NDVI_addrfiles
END DEFine su. 1# you do not have the TKT FREE_NEM
command you might also want to add line 1550 DEFine
PROCedure freenem: PRINT PEEK.L(163856)-PEEK_L( 163852)
71024: END DEFine freemem. Make the first save of this
with SAVE MViaddrfile, or change all the addrfile
names to BOUT if you want it to auto-load. Now whenever
you want to make a save during entry of the listing all
you need to do is Key (sv). Enter <freemem) to show free
memory remaining. Procedure and function definitions
Tike these may be located anywhere and are transparent
until called, i.e. processing passes right over then -as
it does for a DATA line.
Use RUN to initiate and key "9" from the menu to save
the listing to mdvi. To set up an all-new file, key "0"
and "y" at the ERASE pronpt. 820 allows entry of 1, 2,
3, 4, or 5 for auto-entry of the respective titles (no
space between number and first name). 14 9 is the first
character entered here then any other title or name may
be Keyed in letter-by-leiter following the 9. $STOP will
close the file and GO SUB to the sort and re-order
routine 20, otherwise inputs continue for last name,
address, P.0., state & ZIP, and 1D or phone no.
The state and ZIP entry may be skipped with just ENTER
(VL) if the P.O. entry was made with a number. 860 &
890-910 may be expanded to include more auto-entries of
P.0., state, and ZIPs for frequently-occurring ones. To
avoid confusion, use line-increnents of 1 for this and
wait until the entire listing has been entered and
checked before using RENUM 10,10,
Printer control commands for font, margin, etc. may be
set by your panel switches or a PRINT #7,comand-
sequence for your particular printer may be inserted at
line 1300 after an OPEN #7,seri. Be sure to end this
sequence with a CLOSE 47,
TW MODE 8 (40-column display with two screens) is
assumed so you may wish to adust sone of the PRINT and
OCTOBER 1988
OCTOBER 1988
10 sets black PAPER and white INK for the #2 main
display screen and white PAPER and black INK for the #0
editing window. This gives a crisper display on B&W TVs
and composite monochrome monitors than the power-up
colors. Just use 10 G0 10 510 here if you prefer to Keep
the original screens.
Note that in lines 130-200 you may use apostrophes
rather than quotation marks to define character-strings.
The QL accepts either. The apostrophe is a little
handier as it requires no SHIFT, but for clarity and of
course for T/S translation the quotes should be used.
The reverse slash \ used by the GL for a line feed
corresponds to the apostrophe for the T/S. PAUSE without
a given value is the same as T/S PAUSE 0.
A little surprise for 1/S users (that users of many
other computers have had to reckon with all along) is
that it cannot be taken for granted that dimensioning a
numeric array as DIM a(n) always sets every element to
0. Neither does DIM a$(n) set every string element toa
space or CHR$(32). The DIM sets the string array
elements to CHRS(O), and then if LET a$(n)="* is used
‘they become spaces. If no Key is depressed, CODECINKEYS)
also returns 0. This is the reason for the value-checks
shown in 210, 610, and 910.
The IF-THEN structure of the GL allows nested test-
statements, with ELSE alternative conditions that are
active when IF conditions are not met, as in 330 and
350, 350 could also have additional statements appended
such as ELSE OPEN #7,scr: INK #737 (which sets scr INK
to white or the color of your choice). The end of a
particular set of IF-THEN-ELSE statements is marked by
an END IF to indicate that set of conditions no longer
apply to what follows.
The SELect ON sequences in 370-430 and 630-740 may be
translated as IF-THEN statements for the 1/S. Beta Basic
(BB) provides the ELSE function and also has an ON
command that would require this change:
610 LET n$=INKEY$, m-VAL m$+1; IF m$="" THEN 60 TO 610
This allows lines 630-730 to be entered as only one line
to use the BB ON function:
$30 ON m: GO TO 770: GO TO 790: GO TO 970: 110: GO SUB
20: GO TO 1210: GO TO 1320: GD TO 1420: 60 T0 1310: SAVE
“addrfile* LINE 10.
Lines 1330-1510 show how the QL sends and receives data
to and fron devices such as microdrives, modens,
printers, networks, etc. For the T/S all this SAVE and
LOAD footwork can be replaced by the sinple commands
SAVE "nane* DATA #$() and LOAD “name™ DATA #9(). If LET
4$(400, 10 3)=STR$ last is inserted before the data
save, then LET last=VAL #$¢400, TO 3) would re-define
UPDATE MAGAZINE
45
UPDATE MAGAZINE
the value of Jast after the loading of new data. (The OL
has no VAL function.)
LISTING 2 gives a search routine for T/$ users. When
using it, the target-line to be searched is first marked
by number, then any consecutive set of characters found
at the very beginning of that line may be used as a
search-word, Either a hard-copy printout or screen
display may be selected. Line 350 could be changed to IF
y$='y" THEN OPEN 2,"P* and make 470 CLOSE #2 to direct
the PRINT output of lines 380-460 to a printer or to the
screen if y$="n". IF-THEN statements would then be
substituted in 380-420, and the #7 omitted. In BB an ON
conmand-sequence could be used here if 360 is made LET
paCODE #$(n)-48 so the number-sequence 1-9 is produced.
In BB the sort routine at 30-90 may be replaced by the
simple command: 30 SORT #$(1 TO last)(21 TO 40) which
will re-order 150 array elements by last names in just
over 1 second. The QL search routine would be replaced
by the following in BB:
130 INPUT * LPRINT y/n? ";y$
140 INPUT "CHR$ in search-word (#=wild):
150 FOR n=1 TO last
140 LET p$=#$(n)
170 IF INSTRING(1 ,p$,c$) THEN PRINT n’#$(n, TO 94)’ #3¢
my95 TO 114): IF ys="y* THEN 60 SUB 350
180 NEXT n
280 PRINT H0;"SEARCH conplete*: PAUSE 300: GO TO 500
"yes
INARRAY would search the entire #$ array but Tine 150
allows INSTRING to search one array element at a time.
Nost BB commands and functions allow similar savings in
menory-usage as well as processing time which offsets to
a great extent the limitations imposed by the 22K free
menory remaining with BB in-residence. About 150
4ile-items may be handled by this program using BB in a
Spectrun-enulated 752068.
In edit mode, ENTER scrolls through the file items.
Entering "Z” will delete that item, or if a number is
entered then that line-iten may be re-entered as
desired. If more than one line is to be changed the "6"
repeat option may be used at the end of the edit mode
sequence, or else it might be simpler to use "4" to
delete that whole item, then go to the “Additional
entries" mode from the main menu. While entering new
file items, if $10 is entered instead of an 1D or phone
no. then that entire file~item may be re-entered to
correct an error, or else you can wait and use the "List
& edit mode" fron the main menu.
Again BB has a much easier way of editing an entire
array element at a tine by replacing lines 1000-1200
with simply 1000 EDIT #$(n) and 1010 NEXT n. The entire
file item is brought back into edit mode for revisions
OCTOBER 1988
OCTOBER 1988
by moving the cursor up and down as well as horizontally
through it, just as when it was originally entered.
Keying ENTER scrolls through the file.
The "SAVE file* and ‘LOAD file’ modes require a
cartridge in mdvi (or mdv2 with required changes in
listing) so that the CAT routine may list all files
already on the cartridge. This allows checking file
nanes already in use to avoid overwriting any you wish
to keep, Since I have TKT installed which doesn’t
require the DELETE mdvi.name before saves, the very
first save you make of the listing (and the save of a
file using a given name for the first time) may require
adding an optional procedure without the DELETE on
unexpanded OLs to provide for such saves. Jf a save is
being made with the same name as an existing file
without preceding it with the DELETE MDVi.name command,
TKT users receive a warning prompt and the *Y/N" option
to abort or proceed.
I think the remaining program REMarks and pronpts should
be self-explanatory, but then I’m looking at it through
different eyes than someone seeing it for the very first
time, so feel free to bring any errors or unclear points
to ay attention. For reply please enclose a SASE. I have
written an all Beta Basic version of this program which
will appear in a future SYNCWARE NEWS if all goes well.
Tt would serve areal need, J believe, if QL, T/S, and
BB users would send in your own programming hints,
especially those procedures and functions you have
created, so they can be shared here in UPDATE with other
users. And be sure to let Bill and his advertisers know
you appreciate their support. As Rod Gowen of RNG
ENTERPRISES, one of the very supportive surviving T/S
venders, stated in recent correspondance with me, "We
Sinclair users have to stick together!*
LISTING 1 - OL ADDRESS FILE
10 PAPER 0; PAPER #0;7; INK #0;0: CLS: CLS #0: 60 TO SiO
20 REMark sort
30 LET melast: LET som
40 LET ssINT(s/2); IF s<1 THEN RETurn
SO IF s/2=INT(s/2) THEN LET s=s#1
60 FOR n=1 10 m-s
70 LET jen
80 IF #$¢j,21 TO 40))4$¢j+5,21 TO 40) THEN LET x$=#$¢i,1
TO 115): LET #$(j,1 TO 115)=4$¢j4s,1 TO 115): LET
$(jts,f TO 115)=1$: LET jej-st IF j20 THEN GO TO 80
90 END FOR n
100 60 10 40
110 REMark search
120 CLS
130 INPUT " LPRINT y/n? "33
140 INPUT "CHR$ in search-word (Hewild): "yet
150 FOR n=1 TO last
UPDATE MAGAZINE
UPDATE MAGAZINE
16D LET p$=#$(n)
170 IF INSTRING(1,p$,c$) THEN PRINT n’4$(n, TO 94)/48(n,
95 TO 114): IF ys=*y* THEN 60 SUB 350
180 NEXT n
190 PRINT #0;*Search is complete’: PAUSE 300: GO TO 500
340 REMark Printout subroutine selects printer or screen
350 IF y$="y* THEN OPEN #7,ser1: ELSE OPEN #7,scr: INK 4
7,73 REMark Or INK n of your choice for scr
340 LET p=CODE(#$<n,1))
370 SELect ON p: REMark Alternative to IF-THEN sequence
380) «=49; PRINT A7,"Mr. & Hrs. °;
390 =50: PRINT #7,"Mr. "3
400 =51: PRINT H7,"Mrs. ";
410 | =92: PRINT 47,"Ns. °;
420 =53: PRINT 7,"Miss *;
430 END SELect
440 END IF
450 PRINT 47,44(n,2 TO CODE(#$(n,115)));" "5#8(n,21 10 4
O)\#$(n,41 TO 65)\¥$(n,48 TO BOD\4$(n 81 TO 94)
460 IF y$="n" THEN PRINT 47; #$(n,95 TO 114)
465 REMark For labels insert PRINT 87,\\\ here for LFs
470 CLOSE 47
480 RETurn
490 REMark Menu
500 CLS: CLS KO
310 PRINT "O - Start ALL NEW file"
520 PRINT "1 - Additional entries"
530 PRINT "2 - List & edit mode*
‘540 PRINT “3 - Search mode”
550 PRINT "4 - Sort & re-order®
560 PRINT "S - LPRINT™
570 PRINT "6 - SAVE file™
580 PRINT "7 - LOAD file"
590 PRINT "8 - Set printer*
600 PRINT "9 ~ Listing SAVE"
610 LET m=CODECINKEY$): IF m=O THEN G0 TO 610
620 CLS
630 SELect (Na
640 =48; GO TO 770
650 =49: GD 70 790
660 =50: 60 TO 970
670 =5i: GO 10 110
680 =52: 60 SUB 20
690 =53: GO TO 1210
700) =54: 60 TO 1320
710 =55: GO 70 1420
720 -=56: GO TO 1310
730257: sv
740 END SELect
750 60 70 500
760 REMark Initialize ALL NEW file
7270 INPUT #0;"CAUTION--ERASE OLD FILE y/n? (Max ing
no. files(400) —";y$: IF y$="y" THEN DIM #$(400,1
15):CLS #0: ELSE PRINT "FILE NOT ERASED": 60 70 510
780 REM Input to file
790 FOR n=1 TO 400
800 LET p=0: RENark p=zero
810 IF #4(n,1) (> CHRSCO) AND #$(n,1) <>" * AND #$(n,f1
OCTOBER 1988
OCTOBER 1988
4) 4)" THEN NEXT
920 INPUT (n)\*$STOP INr/trs 2Mr 3Hrs 4s SMiss or 9 the
n title or first name "\p$: LET #6{n,1 TO 202=p$: L
ET #$(n,115)=CHRS<(LEN(p$)): IF p$="$STOP* THEN LET
$n)="": LET Jast=n-1: 60 SUB 20: 60 70 500
830 IF CODEC#$(n,115)){2 THEN LET £$(n,115)=CHRS<2)
840 INPUT "Last name"\f$(n,21 TO 40)
850 INPUT "Address"\#$(n,41 10 65)
860 INPUT ‘P.O. or 1AUB 2BUT SHNT"\4$<n, 66 TO 80): IF f
$(n,66)<="9" THEN LET p=1
870 INPUT *State (2 chrst2 spaces) & ZIP or N/L*\#S{n,81
TO 94)
880 INPUT "ID or phone no. (or $10 for re-entry) *\4$(n,?
5 70 114)
890 IF #4(n,66)=°1" THEN LET #$(n,66 TO 80)="Auburn®: LE
T #4(n,81 TO 94)="IN 46706)"
900 IF #4(n,66)="2" THEN LET #$(n,46 TO 80)="Butler*: LE
T 49(n,8% TO 94)="IN 46721"
P10 IF #$(n,66)="3" THEN LET 4$(n,66 TO 80)="Huntertown’
+ LET #$(n,81 TO 94)="IN 46748-nnon*
920 IF p THEN PRINT #$<n,66 TO 94)\
930 IF 44(n,95 TO 97)="$T0" THEN PRINT "RE-ENTER": 60 TO
820
940 END FOR n
950 LET last=n-{: GO SUB 20
960 60 TO 500
970 REMark EDIT file
980 CLS #0: PRINT #O;"Key ENTER to keep or % to delete
TTEM NO. to EDIT": LET 2=8
990 FOR n=1 TO last
1000 PRINT *FILE "yn\1j"="; #$(n,1 TO 20)\23"=";4$¢21 TO
40)\35"5" 5#9(n,41 TO 65)\45"=" 591066 TO BO)\5; "="
14$4n,81 TO 94)\6;"=";£$(n,95 TO 114)
1010 INPUT m$;: IF m$="%* THEN PRINT "DELETE! !*: LET #$¢
LET #$(n,21 TO 40)=*zzzzzz2zz2": LET 2=2
1020 IF CODE(a$))37 THEN 60 SUB 1130
1030 PRINT
1040 END FOR n
1050 GO SUB 20
1060 LET x=last
1070 FOR n=x-z TO x
1080 IF 4$(n,21 10 30)="zzzzzzzzzz" THEN LET last=last-1
: LET #$(n)="*
1090 END FOR n
1100 CLS
1110 CLS #0: INPUT 40;"Key ENTER to return to menu or 6
to repeat "; y$: IF y$ <)"6" THEN 60 TO 500
1120 60 10 970
1130 PRINT "-LINE REVISION:"
1140 IF m$="1" THEN INPUT p$: LET #$(n,1 10 20)=p$s LET
#$¢ny115)=CHRS(LEN(p$)) 2 IF CODEC#9(n,115))<2 THEN L
ET £$(n,115)=CHRS(2)
1150 IF m$="2" THEN INPUT #$(n,21 70 40)
1160 IF m$="3" THEN INPUT #$(n,41 10 65)
1170 IF m$="4" THEN INPUT #$(n,6é TO 80)
1180 IF m$="5" THEN INPUT £$(n,81 TO 94)
1190 IF n$="6" THEN INPUT £$(n,95 TO 114)
47
UPDATE MAGAZINE
UPDATE MAGAZINE
1200 RETurn
1210 REMark LPRINT envelopes or labels
1220 INPUT "Continuous printout y/n? "js
1230 FOR n=1 TO last
1240 IF y$="n* THEN CLS #0: INPUT RO3(n)\(49(n,1 10 40))
\TKEY 5 TO SKIP or ENTER for next "yn$: IF mg="s* TH
EN NEXT n
1250 LET p=CODE(#$(n,1))
1260 OPEN #7,ser1
1270 60 SUB 370
1280 END FOR n
1290 60 TO 500
1300 REMark Insert YOUR printer commands here
1385 60 10 500
1310 REMark Save-data routine
1320 CAT
1330 INPUT WO; “SAVE file name? ";y$: LET m$="ndvi_" & y
$: REMark Or use “mdv2." here & at line 1430
1340 DELETE ns
1350 OPENLNEW 87,0
1360 FOR n=1 TO last
1370 PRINT #7, #8{n)
1380 END FOR n
1390 CLOSE #7
1400 CLS #0: 60 TO 500
1410 REMark Load-data routine
1420 CAT
1430 INPUT H03"LOAD file name? ";y$: LET n$="ndvi_" & y$
1440 DIM #$( 400,115) ;
1450 OPENLIN 47,0%
1460 FOR n=i TO 400
1470 1F EOF(#7) THEN LET lasten-1: 60 TO 1510
1480 INPUT #7, #9(n)
1490 END FOR n
1500 LET last=n-!
1510 CLOSE #7
1520 CLS #0: 60 10 500
1530 DEFine PROCedure CAT: CLS:DIR MDVI.: END DEFine CAT
1540 DEFine PROCedure sv: DELETE NDVI_addrtile: SAVE NDV
Liaddrfile: END DEFine sv
1550 DEFine PROCedure freemen: PRINT PEEKL(16385¢)-PEEK
-L(163852)-1024: END DEFine freemem: REMark Allows
free memory to be displayed by Keying-in freemem as
direct command or as a listing command
LISTING 2 -- T/S Search Routine
130 PRINT "KEY LINE NO. TO SEARCH:*\
140 PRINT "1 - Title no. & first name
ts Mr Sirs 4s Miss)"
150 PRINT "2 - Last nane*
160 PRINT "3 - Address"
170 PRINT "4 - P. 0. or city*
180 PRINT "5 - State abbrev,*
190 PRINT "6 - ZIP"
200 PRINT *7 - 1D code or phone®
210 LET n$=INKEY$: IF m$="* THEN GO TO 210
CMP /t
OCTOBER 1988
220 INPUT “Leading chr-set in item ";<m$)\cd
230 INPUT *LPRINT y/n? “;y$
240 PRINT 80;"ANY KEY FOR NEXT
250 LET sh=1#(mt="1')4+219(m$="2")4418(n$s"3")4668(a9="4"
481m $="5" )4848(n9=" 4") +958(m9="7")
260 LET s2=si+LEN(c$)-1
270 FOR n=1 TO last
280 IF c#=4$(n,s1 TO s2) THEN GO SUB 340
290 PAUSE
300 PRINT
310 NET
320 PRINT "SEARCH completed”
390 CL$ #0: INPUT #0; "Key ENTER for menu or 4 to repeat
*; ySs IF y$="6° THEN CLS #0: 60 70 110
335 GO T0 490
Invitation to participate
ARTICLES and PROGRAMS SUBMISSION
UPDATE ENCOURAGES writers to submit
articles, utilities and programs for
publication. The FORMAT is very relaxed.
Just pay attention to the width of the pages
and allow about 3/4 inch top and bottom and
make the left and right margins wide enough
to accommodate a 3 hole punch that does not
cut out some of the text. We have enlarge
and reduction capability to adjust print to
fit a page. Most important is legibility.
Draft quality dot matrix does not reproduce
well. Print size preference is ELITE 12
characters per inch. Pica 10 characters per
inch is OK also, but please NO condensed
print. If an article has illustrations,
tables, schematics. pictures, figures. thats
alright. Just let us know how to organize
them.
Some of the print in the articles of this
issue is smaller than desired because the
pages were reduced to provide margins, and
some of the articles have quite a bit of
wasted page space due to excessive margins.
But if written text can be salvaged we will
do that instead of re-typing it. Solid type
that is clear but faded can be enhanced at
UPDATE, but draft quality dot matrix cannot,
espically that produced by the TS-2040.
That is all the guidance to be given. Dont
want to make it too tough to participate and
scare you away. The users NEED the SHARING
OF KNOWLEDGE.
TS-2068 PROGRAMS and UTILITIES
PROGRAMS to publish for the TS-2068 may
be LLISTED in 32 chr lines, but that is not
48
UPDATE MAGAZINE
necessary. Each program should be supplied
on 40 or 80 track disk or cassette. Oliger,
larken, or Aerco FD-68 formats are fine.
SPECTRUM programs should be capable of
running in the TS-2068 that is equipped with
the Spectrum ROM Switch. We ESPECIALLY need
programs and utilities designed for use with
DISK DRIVES.
SINCLAIR QL PROGRAMS and UTILITIES
QL Programs and utilities should be
supplied on either 80 track floppy or micro
drive. All programs nust be usable with the
UNEXPANDED QL. If programs are supplied on
disk, a version should be recorded that will -
COPY TO MICRODRIVE and operate from micro
drive. Your letter should contain enough
instructions about the disk or micro drive
so that the editor can load and operate.
UPDATE welcomes QL programs which have
expansion capabilities to use with the QL
that has RAM expansion, but such programs
should also have a micro drive version which
works with the un-expanded QL.
Exceptions to the above are utilities
designed to be specifically for disk drive,
micro drive, Trump or Sandy, or supporting
utilities for other devices.
Full Fledged Software for the QL tends. to
be too long for key in projects and these
Programs should be accompanied with an
article designed as a "mini manual", QL
Utilities and short softwares can be LISTED
in the magazine as key in projects and the
users will get much programming knowledge
from an explanation of HOW the program
works,
The QL and the TS-2068
GENERAL INTEREST ARTICLES
REVIEWS of new software and equipment are
welcomed. UPDATE will provide enough space
for comprehensive reviews.
PROGRAMMING: This is what the users ask
for most and is the most flexible. The
users need programming informtion ranging
from “one liner tips" to simple basic
programming, to advanced programming.
TS-2068 users are also eager for programming
information about disk drive use. QL users
are asking for Super Basic programming
information, ranging from beginner level to
such topics as networking between two QL's,
telecommunications with modems, Piping data
between two computers, and conversions of
MS-DOS programs for use with the QL. So,
let the limits of your writing be the limits
of your knowledge.
OCTOBER 1988
OCTOBER 1988
TS-2068 EXTRA MEMORY RECAP
Back in January 88, UPDATE began a series
about EXTRA MEMORY. The first objective was
to explore the ways and means of using
EXISTING Extra Memory Hardware. Hriefly
these hardware devices are: The Oliger
EPROM cartridges for Dock Bank use: The 32K
non volatile memory cartridge for use in the
Dock and XROM banks: The Aerco FD~68 Disk
Controller which contains un-assigned extra
Ram 64K blocks. Recently one more addition
is the LARKEN Ram Disk cartridge.
The existing TS5-2068 allows us to use
programming to enable the Dock and XROM
banks of memory when RAM or EPROM is
installed in these two banks, There is no
automatic way of using extra memory in the
TS-2068, unless such auto usage is provided
for by PROGRAMMING. So, the January UPDATE
delved into the programming needed to use
these existing devices, which generally had
not been covered in sufficient detail for
the devices to be widely accepted and used.
This involved "collecting" pieces of data
about programming from several sources and
putting together a group of utilities to
allow the user to move BASIC programs or
utilities into the Dock or XROM banks and
operate the programs. The UPDATE series on
EXTRA Memory continued in tutorial form to
include Operating programs in both HOME and
DOCK banks and switching from one to the
other at will. Then the Disk Drive was
brought into the picture ami utilities
developed for Auto Booting programs into
Home RAM. followed by AUTO MOVING the
program into Dock bank, and then Auto
Booting another basic program into Home
Bank— to operate two programs at will.
This effectively magnifies the SIZE of
programs that the TS-2068 is capable of
handling and frees up the FREE MEMORY (ram)
for an extraordinary increase in DATA
handling capability (within RAM).
The above represents the TOTAL capability
of the TS-2068, as it was manufactured, to
utilize MEMORY. We cannot go beyond using
the Dock and XROM banks without redesigning
the TIMEX ROM. AND, it isn't easy fora
user to get that far, because the user must
learn programming to do it himself. The
tutorials and utilities given in UPDATE were
designed to allow a person who is interested
in programming to learn how todo it, and
for programmers to use to develop software
to operate from Extra Memory.
UPDATE MAGAZINE
49
UPDATE MAGAZINE
UPDATE realizes that many users wont
delve into the detailed study needed to
become profficient in using Extra Memory,
and that this series is of little interest
to them. But there are some who are eager
to extend their programming abilities. Then
there is asmall group of real hackers who
want to go the limit and build onto the
TS-2068. So, just as UPDATE plays to the
novice programmers and to those who are
interested in only using software, not
constructing it, we also want to fill the
needs of the intrepreneur ard the expert.
ENTER CHARLES BOTHNER, to extend the
series on Extra Memory "to the limit". This
issue brings another detailed article by
Charles. In addition to his extensive
project to extend Memory Addressing, Charles
has given other building schematics. One is
a Auxillary Power Supply to power external
add on devices, which most of us need to
prevent TS-2068 overload. T have already
burned out one TS-2068 due to overloaded it
with add ons. Hopefully one of our hardware
builders will pick up on this need and offer
&@ power supply that plugs on to the external
Buss of the 68 and power everything else
that is tagged on. WE NEED THAT!
In this issue, Charles casually verifies
the previous UPDATE information about Dock
and XROM bank transfers, and with a snort of
impatience, he proceeds to the sublime,
leaving most of us in a fog of
miscomprehension. But not really. If you
really dig in and cross reference the Timex
Tech manual, things come into focus. A good
many are digging this and are asking for
more. We have some real technocrats using
the TS-2068!
Actually, if you will notice, Charles
does not apply TITLES to his works, just
branch headers. If I had to coin a title, I
would use: “ENGINEERING A 7Z6@ BASED
COMPUTER". Then I might add: ("Using the
TS-2068 as a Starter"). His works go beyond
the UPDATE series title of Extra Memory
while he stretches the 2-80 CPU to it's
limit. There's a guy in England who did
something similiar, and his product is
called "The Sinclair Zzeé8". I don't know
where Charles Eothner is taking us, but
UPDATE will continue with his works until
the end. If someone really wants to learn
the practical aspects of computer
engineering, address coding, assembly
language, and the 2-80 CPU, this is a GREAT
tutorial on all of that.
OCTOBER 1988
UPDATE MAGAZINE |
EXTRA MEMORY
OCTOBER 1988
EXTRA MEMORY
By: Charles Bothner
SEPT. 2, 1988
Bill Jones
TS-2068 UP-DATE
1317 Stratford Avenue
Panama City, FL 32404
Dear Bill,
First of all, I would like to comment on your proposed use
of both the HOME and DOCK banks for programs simultaneously.
The switching between these banks by manipulating bit 7 of
the ARSFLG variable @23750 should work as you described. The
only known problems in the use of the DOCK bank are those
described in paragraphs 6.2 and 6.3.1 of the Timex technical
manual and Lhese deal with cartridges which only use machine
code. (They are easily corrected by changing the byte @0930H
in the EXROM from 40H to 55H and the two bytes @38A0H and
38A4H in the home ROM to GOH and 40H respectively.) I have
not analyzed the DOCK bank access routines in detail up to
this time because I have not had any problems using the DOCK
bank for any of its normal stand-alone functions.
You mentioned power problems with the 2068 and I agree com-
pletely that extra loading on the internal power supply
should be kept at a minimum. I even went so far as to relo-
cate my LKDOS controller board from the cartridge slot to
one of the bus expansion boards at the rear of the computer
so that it would be on the external power system. ‘he only
extra loading on the internal supply is the 2 chips which
were added for proper EXROM address decoding and DOCK/EXROM
disabling when an expansion bank is active as described in
my last article.
My present bus expansion port plug-ins are lined up as
follows:
1. RGB monitor interface and phoneme speech
synthesizer. (The external power supply is
now connected to this board. )
2. EXROM bank expansion for chunks 1-7.
3. LKDOS controller board.
4. Expansion bank controller board.
5. Port I/O buffer board with real time clock
6. LKDOS disk port board
7. 16 channel A/D board.
8B. Text-to-speech board.
9. Digitalker speech synthesizer board.
10. RS-232 interface board.
11. TS 2050 Modem interface.
12. AERCO printer interface.
(You can see that I have been experimenting with several
different approaches to speech synthesis for computers. )
Now let me bring you up to date on my progress in developing
the expansion bank hardware and software. I have completed
50
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
EXTRA MEMORY EXTRA MEMORY
By: Charles Bothner
the debugging of the EXROM initialization routines. The
original Timex protocol was followed in all respects except
for the deletion of the routines which reassigned expansion
bank numbers according to their interrupt priorities. This
was done for several reasons. First, the interrupt service
routine address field which is stored in the SYSCON table
for each expansion bank is never accessed by any of the ex-
isting Timex ROM code. Second, there is no way-of currently
making use of interrupts from the expansion banks without
changing the interrupt mode of the Z-80 processor and if a
different interrupt mode were used and the HOME bank then
made active, the system would crash. Third, it is unlikely
that there would ever be so many expansion banks on line
that polling would present an excessive time delay within
system routines.
Before I go any further on the system debugging I will refer
any interested readers to the excellent 5 part series of ar-
ticles by Wes Brzozowski entitled "The Mystery of the Miss—
ing 253" which appeared in Time Designs Magazine starting
with the July/August, 1986 issue. These articles provide a
good background description of the ROM routines. These ar-
ticles actually got me started on the debugging of the sys-
tem ROM’s.
I completed the debugging of the initialization routines
dealing with the ROM (or PROM) based expansion banks over a
month ago but the RAM based banks were more of a problem.
The RAM based expansion bank initialization routine consists
of testing each chunk in the bank for the presence of RAM by
means of first writing a test byte, then reading it back and
comparing the read back data with the original byte to see
if RAM is actually present in that chunk. This test is
repeated using two different bytes to verify that there ac-
tually is RAM in the chunk and not an accidental match with
random garbage read back from an unused address.
The original test routine in the EXROM blithely continued
chunk by chunk until chunk 3 was enabled in the expansion
bank without bothering to move the 0O.S.RAM routines from
chunk 3 in the home bank to chunk 7 so the system crashed at
this point. I added the necessary code to move the 0.S.RAM
routines to chunk 7 prior to testing chunk 3 in the RAM
banks, but the system still crashed. The problem this time
was that the routine in the EXROM which moves the 0O,S.RAM
code makes use of data stored in the system variables area
which have not been initialized at this point in the overall
system initialization sequence. The addition of some code to
temporarily initialize these variables solved that problem
but we were not out of the woods yet. The system now ini-
tialized properly and the SYSCON table was loaded with the
correct type of data but the chunk map stored in SYSCON 02
for RAM banks did not show the proper status of chunks 2 and
3 for these banks. Subsequent testing of the write and read-
51
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
EXTRA MEMORY EXTRA MEMORY
By: Charles Bothner
back of memory in these RAM bank chunks indicated that the
data was being written in correctly but was read back cor-
rectly approximately 10% of the time. Apparently the SCLD
chip in the computer was somehow insisting that the home
bank should retain control of chunks 2 and 3 since both of
these are used for screen display storage. (Chunk 3 is only
used for extended display modes.) Attempts to override this
control by means of DI software instructions and also by
setting bit 6 in port FF proved fruitless. Since the inter-
nal architecture of the SCLD chip is unknown, I decided to
try the same type of hardware override approach that Timex
used when they added the U21 circuit to tristate two of the
address and data buffer chips (U5 and U9) when writing to
the DOCK bank. The added circuit is shown on one of the
enclosed schematics. After adding this circuit which tris—
tates the buffer chips whenever chunks 2 or 3 of either the
EXROM bank or expansion banks are active, the SYSCON table
was correctly loaded during the initialigation sequence. A
copy of the SYSCON table data is enclosed along with a brief
description of the function of the entries in the table. The
SYSCON 03 through 17 entries for the RAM banks is whatever
garbage was in the chunk O RAM at power up. It is unused
data for these banks.
I am also enclosing a schematic of a LED display add-on for
the expansion bank boards which I found to be very useful to
show which chunk in each bank is currently active.
As promised in my last letter to you, I am enclosing an an-
notated copy of the modified 0.S.RAM routines. Most of the
routines have either been corrected or entirely rewritten.
The only routine which is not annotated is the DISPATCH
routine which serves no useful purpose at the present time
This routine will be the only one which will be entirely
deleted if I can come up with some useful routines which
will help make use of the expansion banks transparent to the
programmer working only in BASIC. This will be one of my
next projects now that the debugging of the original Timex
code and associated hardware seems to be complete. I want to
apologize for the handwritten annotation for this table but
much of this was done during extensive business travelling
over the past few months. Also enclosed is an updated FIX
table for the 0.S.RAM code which is used by the code which
moves the RAM routines back and forth between chunks 3-and 7
in the home RAM.
During my analysis of the 0O.S.RAM routines, I originally
thought that there was an error in the CALL BANK routine.
This routine is used extensively by the tape I/O routines in
the original Timex ROM’s, but never with any parameters
passed on the stack, either in or out. Detailed analysis of
the CALL BANK routine indicated that it is correct as
originally written, and the called routine is responsible
for cleaning up the stack by deleting the passed parameters
52
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
EXTRA MEMORY EXTRA MEMORY
By: Charles Bothner
after the data has been used by the called routine.
Prior to calling a routine in an expansion bank with
parameters passed to the routine, the following items have
been stored on the stack in the order indicated:
1. Bytes containing the status of expansion banks.
(One byte per bank containing the active chunk
map. )
2. Two bytes containing the status of ports F4 and
FF.
3. The address inside the CALL BANK routine which
will be returned to at the completion of the
execution of the code in the expansion bank.
4. The chunk mask and bank number of the called bank.
5. The number of parameters (bytes) to be outpub to
the called routine.
The stack pointer is left pointing to item 3 when the expan—
sion bank is jumped to. I am using the following routine in
the expansion bank to recover the stack space utilized by
the passed parameters while preserving all 2-80 registers:
¥3 DI Disable interrupts.
DDE1 POP Ix Save return addr. in IX.
E5 PUSH HL Save HL(overwrite return
address)
C5 PUSH BC Save BC(overwrite chunk
mask and bank number)
210000 LD HL,O Make HL=SP
39 ADD HL, SP
2B DEC HL Point to high byte of #
of output parameters.
46 LD B, (HL) Get high byte of # of
output parameters,
2B DEC HL Point to low byte of #
of output parameters.
4E LD C, (HL) Get low byte into C
F9 LD SP, HL Assign new SP value.
D5 PUSH DE Save original DE value.
110600 LD DE,6 Offset from SP to start
of parameter list.
19 ADD HL,DE Point HL to parameters.
1100CO LD DE, cooo Destination address in
bank RAM for storage of
Parameters.
EDBO LDIR Move the parameters from
the stack to the RAM in
the expansion bank.
D1 POP DE Restore DE data.
C1 POP BC Get # of parameters back.
D5 PUSH DE Save DE again.
FS PUSH AF Save AF.
2B DEC HL Point DE to top address
ES PUSH HL in stack where parameters
53
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
EXTRA MEMORY
EXTRA MEMORY
By: Charles Bothner
DL POP DE J were stored.
A7 AND A Clear carry, if set.
ED42 SBC HL,BC Offset HL by number of
parameter locations.
010800 LD BC,8 8 bytes on stack to be
moved.
EDB8 LDDR Move the stored register
data to recover the stack
space previously occupied
by the parameters.
DS PUSH DE Point SP to start of the
El POP HL stored register locations
23 INC HL
FQ LD SP, HL
Fl POP AF Restore original register
D1 POP DE values.
C1 POP BC
El POP HL
DDES PUSH IX Put the return address on
the stack
CDxxxx CALL xxxx Call the routine in the
expansion bank which
makes use of the passed
parameters.
FB EI Enable the interrupts.
c9 RET Return to the CALL BANK
routine.
I have also developed a routine for loading parameters onto
the stack within a called expansion bank routine when the
ealling routine requires paraneters to be input rather than
output to the called routine but I will save that for next
time.
A brief explanation of the expansion bank hardware operation
may be in order. The following refers to the schematics
which were published in your last edition. U10, U11, and U18
on the expansion bank controller board are used to buffer
the address and data lines which are not already buffered
inside the 2068. U19 provides bidirectional buffering of the
data to and from the expansion banks. U21, U3, U4, and U7
provide the full port address decoding for either reads of
or writes to ports FC and FD. The port FD read function is
hot utilized at the present time, U17 latches the 3 high or-
der data bits that are transmitted from the computer when a
port FD WRITE command is executed. The latched data is then
decoded by U13 into a one-of-eight outputs for selection of
the appropriate expansion bank port commands.
The subsequent write to or read from port FC will utilize
the latched U13 output to determine the funetion being
executed. For example, a read from expansion bank port 40H
will be the low nybble of the currently selected banks chunk
mask. The bank was selected by sending the bank number to U2
via a write to port BOH. U1 decodes the output of U2 to
54
UPDATE MAGAZINE OCTOBER 1988
UPDATE MAGAZINE
EXTRA MEMORY
OCTOBER 1988
EXTRA MEMORY
By: Charles Bothner
select one of the 15 possible banks. U15 is used to deselect
all chunks in all expansion banks either during a power up
reset or by writing a 0 to port COH. Uid is used as a con-
trolled deselect of chunks common to all expansion banks
when a specific chunk is to be reassigned to a new bank.
(This is done by the BANK ENABLE routine in the home bank
RAM.) The rest of the logic on the controller board is
straightforward combinatorial logic to select the required
control functions.
Proceeding to the schematic for the individual expansion
bank boards, we see that U6 is used for selection of the ap-
propriate chunk selection when memory read/write is active
The memory chips on the board will only be enabled if the
specific chunk was previously assigned to the bank. This is
determined by the state of the U3, U4, U9, and W10
registers. They are clocked by a write to expansion bank
port 40H of the required chunk mask which is presented to
the D input pins of the registers. The clear pins are
directly driven by the chunk deselect outputs of 014 on the
controller board. Ul is used to determine the status of the
bank. Bit 2 is read back as a low to verify that a bank is
really present when testing for banks during the system
initialization. Bit 3 is used (via U8) to determine whether
any chunks in the system chunk mask are currently assigned
to this bank. A low indicates that one or more chunks are
active in this bank and a high read back indicates that no
chunks are currently assigned to the bank. U12 is used to
pull the BUSISO line low whenever a chunk in the bank is ac-
tually being read or written to.
This is a quick summary of ‘overall circuit operation. I’m
sure there will be questions from your readers so we will
try to answer them in future articles. Now that the basic
system hardware and software are in place, the big job
remaining is to develop useful software for the ROM expan-
sion banks and available space in the home bank to make use
of the expanded memory. Some of your readers that are
familiar with the home ROM code may be able to help out on
this proect. be
One last item for this time. I am enclosing a disk contain-
ing the clock setting and reading routines for the circuit
which was shown in the last article. You can list them out
on whatever printer you prefer. Next time we will start out
with a listing of the debugged home ROM code.
Note: For those readers who have a need,
UPOATE will supply the tvo nissiag items: sincerely,
1. Copy of disk wentioned, Oliger or Larken
forpat- $5.00 for postage and handling. Cc y Bethe,
2. 26 page code listing starting at SYSCON
SEEA hex through 683F her.- $8.00. fed.) Charles G. (Chuck) Bothner
55
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
The CABLE COLUMN
This feature column, by Bill Cable, starts with this issue. There are several
excellent programs in this one episode. All of these programs will be consolodated
on one ISSUE DISK and ISSUE MDV CART. There is just barely enough space on one mv
cart to contain them all. This probably sets the record as the largest offering of
QL software in one disk or cartridge EVER. at anything near the price.. Bill
describes each in the following articles. The first article explains a lot that most
of us do not know about ARCHIVE, why we should use it, and how to use it. Then he
gives us a tutorial on using ARCHIVE. ‘The articles following are SOFTWARE programs
that are for ANY QL computer, with or without expansion devices.
The second article brings the software "REFIELD" and is a mini manual on what
REFIELD does arxi how to use it.
The third article brings another software "HELPER" which is a set of TOOLKIT
functions for any QL computer.
The fourth article brings another software "SCAN" which also gives the actual
listing of the program, extensively documented with REMarks for those who would like
to key in the program or learn its programming.
The fifth article is about a Math program for the kids which will be included in
the "Cable Disk and MDV Cart".
woop AND WIND COMPUTING
Bill Cable Cornish, HH 03745 : 603 675 2216
WHY USE ARCHIVE ?
Bill Cable
This is an open letter to all QL users to urge you to use ARCHIVE.
There are many new US QL users out there plus a lot of older ones who
have virtually ignored the ARCHIVE database program supplied with the
QL. Maybe you took a cursory look at it and decided because it doesn't
have any immediate flashy screens and it has a large set of commands
that have to be learned that it wasn't worth the effort. Although it is
not real flashy at first,it can be made flashy, but that is not the
point. It is a workhorse. It can manipulate and organize whatever
information you put into a database with amazing speed and ease of
effort. Unfortunately, even if you know the language you can't do much
until you enter enough information to manipulate. So it does take an
effort. But you can also purchase ready made archive programs. These
programs are run within the ARCHIVE environment and provide specific
services to the user. You may still have to enter the data but the
programs make it as easy as possible. There are several address
databases available and perhaps other software as well.
I would also like +o urge more programmers to use this language for
program development. It works very well for complex business systems
and many other applications where QL users would be willing to pay for
software.
Below 1 will give 12 reasons to use ARCHIVE. I hope this will convince
some of you nonusers to explore it a little and see what a wonderful
piece of software you got for nothing. Next, I will point out a few
shortcomings of ARCHIVE. After all, I don't claim it to be perfect.
And last, I will give a mini ARCHIVE lesson for beginners which will
include a single line of ARCHIVE commands which will calculate and
6
UPDATE MAGAZINE ? OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
print on the screen how many countries of the world have a population
density less than the US and what their sum total population is, using
the Gazet database provided on your database cartridge. Beat that,
HyperCard! Maybe that will whet your appetite for extracting trivial
information from Gazet.
12 Good Reasons To Use ARCHIVE
1. The price is right. That lonely cartridge is setting there covered
with dust. All you need to do is open your manual, press <Fl> and
you are on your way. The supplied database, Gazet, gives you some~
thing to play with. At the end of this letter you will find a mini
ARCHIVE lessons for total beginers.
2. There is a great need for information handling. All of us could
use more help in storing and organizing information in our lives.
This is what a computer does best. ARCHIVE provides a very good
environment to handle information. You can do it yourself or buy
ready made prograns.
3. Learning to use a database is important for all serious computer
users. The concepts used in ARCHIVE are the same used in other
databases. Learning ARCHIVE makes learning others easier.
4, It is universal among all QL users and is not protected. There
are a few new database systems beside ARCHIVE for the QL and it
nice to have a choice but it will be some time before a large number
of us owns a copy.
5. There is an IBM compatible version of the PSION progrrams ($100).
So any work done on the QL can be transferred to the IBM compatible
environment.
6. The ARCHIVE operating system and language is very well designed.
I have systems of procedures with over 70k of source code. I find
ARCHIVE's behavior completely reliable and predictable. No lockups
or program crashes. Whenever I think I have found a system bug and
track it down it turns out to be my bug. In my opinion it is a at
least a couple of notches better than the other PSION programs.
7. The language is excellent, It is like a structured SUPERBASIC with
no line numbers. Some commands differ but it is procedure oriented.
The built in editor is good. If it had a search/replace no other
editor would ever be needed. Its automatic indenting makes program
legibility very good. I hardly ever list out a program in hardcopy.
I can do all my design and debugging on screen. Error messages are
very good. Leaving out an ‘endif’ etc. cause a structure fault mess-
age that is a heaven send. Errors messages pin point the offending
procedures by name. Errors can also be totally supressed to make
friendly crash proof programs for others.
8. Archive is the best place to keep the source of any information des-
tined to ABACUS, EASEL, or QUILL. Because it has a language, you can
restructure the information in any way desired for the other PSION
programs. You can print fancy reports to files for import to QUILL.
You can send information and numbers to ABACUS for easier manipula-
tion. you can send summary information to EASEL for graphs. You have
total power over your information 1f you know how to use ARCHIVE or
purchased a program from someone who does.
57
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988
10.
li.
12.
UPDATE MAGAZINE
Archive has excellent number crunching power. Much better than
SUPERBASIC,.
Compared to some other databases, its handling of fields, sorting,
and ordering is nice and straight forward although maybe not as
flexible. It can order a 2000 record file in 2 minutes. Not super
fast but very good for most applications. It can handle many files
at once.
It can be made to do a lot even on an unexpanded machine. Programs
can be broken into parts and loaded and run automatically as each
part is needed. This allows more free data area and running program
too big for memory. You can also write programs that write programs
and merge and run them without restarting anything. A program I
wrote to easily change the fields of a database (REFIELD), takes
advantage of both these properties.
It has a separate screen editor which makes complex screen design
and construction relatively easy and different screens can be loaded
at any time. :
Some limitations of ARCHIVE
1.
iS)
The worst problem is the possiblility of corrupting a database file
by ‘opening’ it for insertions, alteration, deletions and not clos-
ing it before turning the computer off, losing power, or QL crash.
The fact that this happens mandates keeping multiple backup copies
Any time changes are made to the database back it up. Backing up is
important for any computer user anyway but beginners are often slow
to learn this until they really get burned. Using microdrives calls
for even more caution. If your QL unpredictably locks up, get it
fixed or be very careful. This may appear to make ARCIIIVE too
dangerous to use but in practice, if you back up you will lose
little if anything ever. When ‘looking’ there is no danger. There
are programs to recover ARCHIVE files but they are not easy to use
and nothing can be guaranteed. Preventive action is safest and best.
I like to use 2 or 3 backups which I keep alternating between. I put
the day of the year in pencil on the backup. That way I can find
my latest easily.
No detailed documentation of Archive. I think the ARCHIVE section
of the QL manual ig pretty good as far as it goes. There are a few
typo mistakes in the examples but it is worth using as a guide.
The sections defining each command and function and error message
should be studied carefully. There is ARCHIVE MASTER ($45) from RMG
enterprises. I haven't seen it. Also TAKING THE QUANTUM LEAP ($26)
from TINE DESIGNS is a more general book about the QL.
Slow screen handling. You can design very nice screens and data
displays but you can't get around the screen as fast as you would
like. This may be part ARCHIVE and part QL.
No data arrays allowed. There are field related functions that use
field numbers as indexes which are very handy. You can make a dummy
database and use it like an array. Position can be one index and the
field number the other. If it is in RAM it will be fast.
On an unexpanded machine it is easy to run out of memory when doing
selections and orderings of large databases.
58
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
oO
Not much software yet. This will improve. There is a good address
database from EMSOFT (MAILBAG), which will handle printing labels,
postcards, repeat letters. I have a utility to allow easy addition
of fields (REFIELD) to any already created databases. I have a
tutoring database (DBTUTOR)to help learn any subject. I am work-
ing on a very comprehensive program for the small business to handle
all record keeping, invoicing, check writing. It has been under de~
velopment for over a year. I also offer an address database
(DBADDRES). There are probably more US ARCIIIVE based programs not
known to me.
Conclusion
We are very lucky that PSION did such an excellent job developing this
program. It will allow your QL to do first rate work for you for many
years to come. You only need to learn a little about using it.
Mini ARCHIVE Lesson For Beginners
1. Turn on or reset your computer. Put cartridge labeled 'Database’ in
the left microdrive slot (mdvi_>. Press <F1> key.
2. ARCHIVE will load and you will see a little '>’' at the bottom of the
screen waiting for a command. All commands can be seen by pressing
<F3> and watching the upper center box. If you type a command and
<ENTER> it will be executed. Press <F5> to cause the last command
line to be retyped (an easy way repeat a command or correct a
mistake ). Pressing the <ESC> key aborts a command.
3. You were given a database,Gazet, with information about all the
countries of the world on your database cartridge. Let's play with it
for a little while.
look “mivl_gazet"<LBNSTER> {access the database}
print count ()<EHTER> {total records)
display<ENTER> {display a record with field names and values)
select continent. S. AMERICA" <ENTER> {select a sub group)
print count () <GNTER> {how many included)
display<BNTER> {display again?
order pop; a<BNTER> forder population in ascending order)
last<ENTER> {most populated)
back<BNTER> {next most populated)
first<BHTER> {least populated?
next<ENTER> {next least populated)
reset: print count () {reset back to all countries)
(Try on your own ordering and selection)
reset:select pop/area<.0229:let p=0:all: let p=p+pop:endall: print count();":";p
{above is the promised command. US density = .0229, notice the result)
{play some more}
quit<ENTER> - {always quit when done?)
You just learned the basics of using a database.
ro
59
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
REFIELD PROGRAM vi.lu
An ARCHIVE Program by Bill Cable
A. What does it do?
Yo
Refield is a large program running under ARCHIVE that allows one of add,
restructure, delete fields from your ARCHIVE database. If you are familiar
with ARCIIIVE programming you can do that on your own but it is tedious and
easy to make errors. There are also ways to do it by exporting to ABACUS
and re-importing. Refield attempts to make it fun and error free, even for
a beginner. It works on an unexpanded machine.
What is a field you ask? Well it is a category to hold information for each
entry in your database. The Gazet database provided with your computer has
these fields for each country : country%, continent%, capital$, currency$,
languages, pop, area, gdp. For each country record we have this
information. Now if we also wanted to keep track of miles of roadway in
each country we would have a problem. With Refield it would be very easy to
add a field called 'roads'. What would happen is that it would make a new
database with the extra field and copy the records over. Suppose we named a
field badly in our database. With refield we could easily rename the field.
Suppose we were running out of room on our cartridge and there were a few
fields we could do without. With refield we could make a new database and
leave out those fields to gain a little more room. Or we could break the
database into two parts and keep them on separate cartridges. It takes the
tedium out of such problems and is fun to watch because it tells you what
it is doing as it chuges along.
B. Starting up
1. Set up files in RAN if you want fastest running
2. Start archive normally
3. Type: run "{) step1"<ENTER> where {) = device holding refield
programs (mdv1_,mdv2_,f1p1_,flp2_>
4. Follow directions
C. Brief Ixplanation On How To Use The Program
To start from archive : run ' {)stepl'<ENTER> {) = device programs are on.
It will work on an unexpanded QL but only works in 80 column mode.
The Source database is what you have and the Target database is what you want.
It transfers records from the Source to the newly defined Target.
The program is divided into stepl_prg to step7_prg which are run in sequence.
It works by writing the procedures needed to make the Target database.
These are merged and run at the appropriate times.
Prompts are usually at the very bottom of the screen.
All responses require the <ENTER> key being pressed as part of the response.
Possible answers to prompts are often within [ 1] and separated by /.
Comments within 6 9 clarify prompts.
Comments within ¢ )? indicate action program is taking.
Often just <ENTER> can replace the normal expected response.
Error messages appear at top right of screen.
You can usually restart the step if an error occurs.
This series of procedures works with an archive database. It allows for the
addition of new fields, removal of fields, reordering of fields, renaming of
fields, changing a numeric field to a string and viceversa. It uses your
original (Source) database as a template and creates a new (Target) database
with the changes you want. The Source records are then transfered to the Tar-
get database. You are given the opportunity to select and order the Source
records to be transfered so the Target database can have the structure you
want. One use of this program would be to make an exact copy of your database
because the new version would be cleaner as it would not have the holes and
UPDATE MAGAZINE 60 OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
disorder of the original caused by record deletions and alterations.
I have attempted to trap most errors and give ample directions. You should
have some knowledge of archive fields and the select and order commands. If
you use ramdisk you should set that up before starting archive. The procedures
have been broken up into a series of steps so they will work on an unexpanded
machine. If you don't have ramdisk or floppies then put your Source database
in mdvl_ after archive is loaded and have the refield programs in mdv2_. Near
the end you will be notified that the programs are no longer needed so you
can remove them from mdv2_ and put the Target cartridge there so the transfer
can take place. The Source and Target files can be on the same device but must
have different names.
D. Uints about using this program
1. Pressing <ESC> a few times will stop the program and get command mode.
2. Typing help<ENTER> when in command mode will fix screen and give help.
3. When an error is detected you will be given a message in top right of the
screen with a prompt. Then you usualy are given the option of restarting
the step you are on or from stepl or going to command mode.
4. Some errors may not be detected and will put you at command mode with an
archive error message and a line of code from the program. You will have
to deal with that as best you can. Typing help<ENTER> will give help.
5. Some errors cause archive to lose track of what files are accessed. If you
really get stuck, quit archive and start it up again.
G6. I have used the archive convention of field numbers (#) starting at 0. so
if a database has 6 fields, the field numbers will be 0 through 7.
7. I gave the field name ‘tag’ a special meaning. If you give the Target data~
base a new field called ‘tag’ it can be given a special value so that each
record in the Target database will be given a unique increasing integer in
the 'tag' field.
8. Apparently the basic rules of field names are : up to 13 characters, the
first character must be A-Z, a-z then 0~9 and _ can also be used. If a
field ends in $ then it is string, otherwise it is numeric. I may not catch
all illegal field names. Especially if you use an archive reserve word in
a field name. This could cause stepS to crash. Type help<ENTER> to restart.
9. When you are defining the Target fields, giving it the same number of
fields as the Source and making then the same will create an exact copy
with a 'cleaner’ structure.
10. If you have a new name for an old field, you enter the new name where you
want it and give the Source field # when prompted.
11, With a completely new field you will be prompted in step 6, if you want it
to have a default value different than for string or O for numeric.
12. If you give a numeric Source field a string name in the Target database
it will automatically mke the conversion when transferring.
13. While defining target fields, a little note (S#, where # is the Source
field #) is put by the Target field name when Target value = Source value.
14, Using ramdisk for programs, Source, and Target is pretty fast. Some mess~
ages appear and disappear instantly. Using all microdrives can take a very
long time for large databases.
15. If you want to multitask, you can shut off the screen updating of progress.
BE. PROGRAM STRUCTURE
There are 7 files of programs chained together
stepl_prg : Asks for device programs are on ( mdvi_,mdv2_,flpi_,raml_ ,etc.).
It checks that temporary files can be written to that device
and provides these detailed instructions.
step2_prg : Asks for Source database device and file name. It opens the
Source database for ‘look’.
61
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
step3_prg : Creates an select/order procedure file on the target device
and writes your select/order commands there.
step4_prg : Merges with the select/order procedures and carries them out
Only activated if selecting or ordering are requested.
stepS_prg : Makes creater procedure file for Target database. Prompts for
Target fields. Can have partial or complete duplication of the
Source. You can type in a Target field name or get it from the
Source. Each new name can get its value from the Source. A temp-
porary database is created on the programs device.
step6_prg : Makes transfer procedure file. prompts for special values for
new fields (normally string = and numeric = 0).
step7_prg : Merges creater and transfer procedures. Gets Target device and
file name. Creates Target database and does the transfer.
F. BRROR/ILGLP Message
Suggestions
Type ‘help<ENTER>' to get this screen again when in command mode”
Make sure specified devices and files are correct
Make sure a necessary drive is not full
Nake sure tabs aren't removed from a necessary cartridge
Jot down error number and look it up on page 53 in archive manual
Last error # =
If you can fix the problem without closing files type start<ENTER> or
Try starting from stepl again or that failing quit archive and restart
Specified refield programs device
Specified Source database :
Specified Target database :
Restart this step -{( y/nl1 :
Restart with stepl - [ y/n] ;
Close all files before stoping - [ y/n 1 :
C. Support software development
This software is not intended to be free. If you obtained it from UPDATE
Magazine or directly from me, Thank You. If you got it for free and find it
helpful, please support my effort in trying to make good applications
software for the QL. Send me $5.00.
Bill Cable
Wood and Wind Computing
RR 2 Box 92
Cornish, NH 03745 USA
603-675-2218
Specializing in Business Applications for the QL
You should find this to be a very reliable and flexible Program with lots
of diff P
taatured: toate ene Please notify me of any problems or useful
62
Bill Cable Narch, 1988
UPDATE MAGAZINE ay aeee
OCTOBER 1988 UPDATE MAGAZINE
HELPER
A SUPERBASIC Program for the QL by Bill Cable
The helper program is a set of useful toolkit-like functions
presented in a menu format. It. would be very useful to anyone
without any of the toolkits available for the QL and works on
unexpanded machines.
The basic functions provided :
1. Directory of a device with file copy,delete, view options.
The directory is constantly displayed while the functions
are being carried out.
2. Formatting a device 1 to 10 times.
3. Copying the contents of one device to another (clone).
4. Set time and date.
5. Load and run a program from a specified device.
6. Set windows and exit to QDOS,
There is a fair bit of input checking to prevent errors happening
but not every one can be prevented. Trying to copy a nonexistent
file is an example of an error that will stop the program. I
decided not to use WHEN ERROR to trap errors because of the system
bug with that function and the objective to keep things simple. If
it does crash it won't hurt anything just note the cause of the
error and restart the program by typing : ‘run<ENTER?’.
The code is straight SUPERBASIC. 1 indented the multiline IF
statements for easier reading. It would be easy to customize and
add your own special functions. The single line 'IF' statements
don't require an ‘ENDIF’ and I wasn’t always consistent in
including one. I prefer using them for easier program reading.
To Run :
type : ‘'lrun ()helper'’ where {}=device holding helper
* mdvi_,mdv2_,f1p1_, f1p2_
You are warned about errors and encouraged to use <CTRL><F5>
to freeze screens and <F5> to unfreeze. Note that these
always work on the QL.
You are next presented the HELPER Menu which should be self
expanatory. Experiment a little. The date and time need be
set only once after the QL is turned on even if it is reset.
Exit to SUPERBASIC to quit. I hope you find it helpful.
63
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
ARITHMETIC
An Arithmetic Drill Program for the QL By Bill Cable
This program is designed to aid children learning arithmetic. It
uses only whole numbers 0 through 9 for addition, subtraction
multiplication, division. Numbers can get as large as 81 (9x9). It
picks the numbers randomly and presents the problem on the screen
waiting for the users answer. The faster the response the better
the rate (problems per minute). The challange would be to have a
high rate with good accuracy. The results can be printed out so a
printed record of progress can be kept. The elasped time is also
kept so one can determine when they have been working for a
certain period of time.
The program is pure SUPERBASIC. The Menu portion uses mode 4 while
the problems are flashed in mode 8 to get big characters. There
should be no way to crash the program except <CTRL><space bar>.
To Run
Type : ‘lrun ()arithmetic' where {)=device holding program
mdvi_,mdv2_,f1lp1_,flp2_
You are first asked your name for display purposes and to use
on the print out (if any).
Next you are asked if you want a print out. It would be a
good way to record long term progress. The rate of doing
problems should slowly increase. You must keep the printer
online if you do.
If print out is wanted you are asked for an
identifying entry such as the date. This will
allow you to keep track oflong term records.
Next you are presented a menu of choices :
- Addition
- Subtraction
- Multiplication
Division
- Progress (anytime)
- Quit (anytime)
AUDA HD
t
A single key press will activate your choice. If you choose
to do problems you will be given the problem and the cursor
will flash in the place for the answer. When you give enough
digits for the answer it will be checked. If right you will
go on to another. If wrong you will be asked again. Pressing
the 'p’ key at any time will show your progress. I+ is a good
way to take a break as it stops the clock. Whenever you see
your progress a print out will be made if you wanted print
outs. Pressing 'q' will get you the menu and pressing 'q'
again stops the program. Happy Arithmetic
64
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
SCAN
An ARCIIIVE program by Bill Cable
Scan is an ARCIIIVE program that will work with any database. It
allows one to see up to three selected fields displayed on a line
for all currently active records. It is a fast way to scan through
the file looking for particular values or trends. If any of the
fields are numeric then they are displayed with a specified number
of decimal places and their sum is printed at the end. The sum may
or may not have meaning depending on what the field is. The sum
will appear anyway. The output can also be sent to the printer at
the same time. This could be handy for many purposes. You could
list names and phone numbers from an address database to keep by
your phone. The listing will be of the currently selected/ordered
structure of the file. Pressing the <space bar> will pause the
output and allow for continuation or abort.
This program is nice because it will work with anyone's database
and will not interfere with any already existing procedures or
variables as long as they are not named ‘scan’. It makes use of
the ARCHIVE fieldt(),fieldn(),fieldv() functions so it can deal
with any database without having any previous information about
it. The only way to crash it if my code is good, is to call it
without having an active ‘look’ or ‘open’ database file. I
documented the code heavily to show my logical process. In a way
it makes the listing hard to read. You may want to omit or delete
all the ‘rem’ statements to shorten it and see what real ARCIIIVE
code looks like. To get the ARCHIVE editor, type : ’edit<ENTER>'
and follow instructions in center box.
To Run :
Start ARCHIVE as usual
Access your database with ‘look’ or use the Gazet database
look "mdvl_gazet"
Load or merge scan as : -
load "{)scan"” where {)=device holding scan
mdv1_,mdv2,f1p1_,flp2_
Select or order if you want
Type : 'scan<ENTER>’ to start scan
Direct output to printer if you want
The fields of your database will be displayed. Give the
numbers of up to 3 you want on the output line for each
record. If the field type 4s numeric you will be asked for
the number of decimal places to show.
The listing will begin. Press <space bar> to pause.
It will print any sums and pause. Stops When you press <ENTER>
65
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
proc scan
rem SCAN: A procedure for listing all current records on the screen and
rem to the printer. It prints one line with up to 3 selected fields for
rem each record. It asks for decimal places for the numeric fields to be
rem displayed. It prints the sum of any numeric fields displayed at the
rem end of the listing. A <space bar> press will pause it and then it
rem can be continued or aborted. It will work with any database you have
rem accessed by 'look' or ‘open’. All variables are local so it should
rem not interfer with your procedures or variables. All these ‘ren’
rem statments can be removed to shorten it.
rem
rem To Use:
ren 1. Start ARCHIVE as usual
rem 2. Access your database by ‘look’
rem 3. Load or merge scan : ‘load {)scan' or ‘merge {)scan’
rem 4. Select or order you records you want to see if necessary
rem 5. Type : 'scan<ENTER>' and follow prompts
rem 6. It quits after reaching the end or you abort it
rem 7. Call it any time by typing its name after it is loaded
ren
ren
rem Set up all variables as local so no interference with other procedures
rem All other symbols are commands or functions defined in archive section.
rem
rem Uses: f1,f2,f3 are field numbers or -1
rem di,d2,d3 are decimal places or -1
ren £1$,£2$,f3% are used to hold values in form for display
rem s1,s2,s3 are used to hold sums of numeric fields
ren
local i8,i,j,k,f1,d1,f18,s1,f2,d2, f2$,52,f£3,d3, £3$,s63, print_out
rem
rem Initialize potential decimal places for three fields to -1
rem
let
rem
rem
rem Set mode 0 for large screen, print heading, if no, file is open an error
rem will occur at ‘print count()' since there is no count
rem
mode 0: print "Scan up to 3 specified fields of ";count();" selected records "
print at 2,2;"The records will be scrolled by with selected fields on a line"
rem
rem Loop until answer is 'yes' or ‘no’
let dé
+ let d3=-1
rem
let i$= while 1$<>"y" and i$<>"n"
print at 4,0;rept «" ",80);
input at 4,2;"Output to printer also { y/n J] : ";1%
endwhile
rem
rem Set print_out 'true' if ‘yes’ or 'false' if ‘no’
rem
if ig="y": let print_out=1: else : let print_out=0: endif
rem
rem Print out all fields with field number in front of it. If more than 50
rem fields they are not printed
rem
els : print "Fields that can be scanned": print : let i=0: let j=2: let k=0
66
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
while i<numfld©
print at j,k;num(i,2);" “dfieldn(id: let i=itl: let g=jti
if j=12: let k=kt15: let j=2: endif
.., @ndwhile
‘rem
rem Prompt for first field of scan. If it is not a number or out of range
rem return otherwise set f1 to the field number
rem
input at 15,0;"First field to include in scan [ #/<ENTER> if none J: ";41%
let fl=int(val(i$)): if £1=0 and i8$<>"0": mode 1: return : endif
4£ £1<0 or f1>numfldQ-1: mode 1: return : endif
rem
rem Get decimal places desired in listing if field is numeric, set sum = 0
rem
if not fieldt (fl)
print " Decimal places for "+fieldn(f1)+" : "3: input 18;: let dl=val (is)
if d1<O: let d1=0: endif : if di>10: let d1=10: endif : let s1=0
endif
rem
rem Prompt for second field to scan. If not a number or not in range set
rem £2 = -1 otherwise f2 set to the field number
rem
input at 17,0;"Second field to include in scan [ #/<ENTER> if none ] : "318
let £2=int(val(i$)): if £2=0 and i$<>"0": let f2=-1: endif
if £2<0 or f2>numfld(-1: let f2=-1: endif
rem
rem Get decimal places desired in listing if field is used and numeric
rem set s2 = 0, keeps track of sum of field 2
rem
if £2<6>-1 and not fieldt<f2) g
print " Decimal places for "+fieldn(f2)+" : ";: input i$;: let d2=val (i$)
if d2<0: let d2=0: endif : if d2>10: let d2=10: endif : let s2=0
endif
rem
rem Frompt for third field to scan. If not a number of not in range set
rem f3 = -1 otherwise set £3 to field number
rem
input at 19,0;"Third field to include in scan ( #/<ENTER> if none 1] 1 "3418
let f3=int(val(i$)): if £3=0 and i8<>"0"; let f3=-1: endif
4£ £3<0 or £3>numfld(-1: let £3=-1: endif
rem
rem Get decimal places desired in listing if field is used and numeric
rem set s3=0, keeps track of sum of field 3
rem
if £3<>-1 and not fieldt(f3)
print " Decimal places for "+fieldn(f3)+" : input 1$;: let d3=val (is)
if d3<O: let d3=0: endif : if d3>13: let d3=13: endif
endif
rem
rem Print out heading and fields selected and message about halt
rem
cls : print "Scan selected fields of ";count();" selected records"
print at 2,2;"Press any key for temporary halt"
print at 3,2;"The number in the left column is the record number”
print at 6,0;"Rec #"; tab 11;fleldn(f1);
if £2<>-1: print tab 31;fieldn(f2);: endif
67
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988
if £3<>-1: print tab 54;fieldn(£3);: endif :
ren
rem If print_out warn to put printer online.
rem
if print_out
print at 4,2;"**k«*
lprint "Rec #"; tab 11;fieldn(f1);
if f2<>-1: Iprint tab 31; fieldn(f£2);:
if £3<>~-1: lprint tab 54; fieldn(£3);:
endif
rem
Make sure printer is online
lprint "Scan selected fields of ";count();" selected records”:
UPDATE MAGAZINE
print : print
Print heading to printer
**KK": print at 8,0;
lprint
endif
endif :
iprint : lprint
rem Set to beginning and begin printing line by line until end of file
ren
first : while not eof ()
rem
rem Check for key press signaling pause request. Allow for restart if only
rem if <spacebar> pressed otherwise return
rem
rem
if inkey(@)<>""
print :
if getkey(<>" ":
endif
reu
mode 1: return :
print "Press <space bar> to continue or any other key to stop: ";
endif :
print
rem Store value of 3 fields to f1$,f2$,f3% making decimal if numeric
rem
if fieldt(f1)
let f£1$=fieldv (fl):
A£ £2<6>-1
if d2=
endif
if £3<>-1
if d3=-1:
endif
rem
rem Keep sum of any numeric fields
rem
else :
else :
1: let f2$=fieldv(f2):
let £3$=fieldv(f3): else
4f d1<>-1: let sl=si+fieldv(f1): endif
1£f d2<>- let s2=s2+fieldv(f2 endif
af d3<>- let sG=sS+fieldv(f3): endif
rem
rem Start printing line.
let f£1$=dec(fieldv(f1),d1,12):
endif
let £2$=dec(fieldv(f2),d2,12): endif
let £3$=dec (fieldv(£3),d3,20): endif
First record number then first field then 2nd and
rem 3rd if the are defined. Likewise print to printed if print_out true
rem
print recnum(); tab 8;f£13;
if print_out: lprint recnum(); tab 8;f1$;: endif
if £2<>-1
print tab 28;£2$;; if print_out: lprint tab 26;f28;: endif
endif
4£ £3<>-1
print tab 48;£3%;: if print_out: lprint tab 48;£38;: endif
UPDATE MAGAZINE
68
OCTOBER 1988
OCTOBER 1988
endif
rem
rem Finish print line
rem
print : if print_out: lprint : endif
rem
rem Advance to next record
rem
next
endwhile
ren
rem Listing done. Print out sums if any
rem
print : print "<";count();">";
if print_out: lprint : lprint "<";count(;">";: endif
if did>-1
print tab 8;dec(s1,d1,12);
if print_out: lprint tab 8;dec(sl,d1,12);: endif
endif
if d2<>-1
print tab 28;dec(s2,d2,12);
if print_out: lprint tab 28; dec(s2,d2,12);: endif
endif
Af d3<o-1
print tab 48; dec(s3,d3,20);
if print_out: lprint tab 48;dec(s3,d3,20);: endif
endif
rem
rem Wait for acknowledgement, set mode to 1 and return
rem
print : if print_out: lprint : lprint : endif
print : input "Scanning Done. Press <ENTER>";1$%;: mode 1
endproc
UPDATE MAGAZINE
Editor's comments: I learned more about ARCHIVE by reading these
articles and a few hours working the programs than I could have in six
months of study and experimenting without them. We can keep excellent
programmers such a Bill Cable working for us ONLY IF we respect their
propriety rights to their works and PAY THEM FOR WHAT WE GET.
Frankly, I see dozens of SHAREWARE (IBM) softwares being given about, in
this small city, and VERY FEW bother to send the author payment. The
tenancy is for one to think of his friend as the giver, and not the author
of the software. I sincerely hope that the Sinclair QL users will not
destroy their software support by disregarding INTEGRETY.
All of Bill Cables works in this issue will be in the October 88 "CABLE"
ISSUE DISK and MICRO DRIVE ISSUE. You may Order the disk or send a mdv
cart in for dubbing. Send orders or mdv cart to UPDATE, $20.00 postpaid,
and specify "CABLE DISK".
Also, you may send your thanks and comments directly to Bill Cable. If
you expect a reply, please inclose a SASE.
69
UPDATE MAGAZINE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
UPDATE SUPPLY SUPPORT
UPDATE ITEMS FOR SALE: ‘These items are purchased in bulk and can be offered
at lower than most local prices. All prices include shipping. Order by
"UD-#". Add 25% for Canadian orders.
UD-4#1 Desk top Disk Case. holds seventy 5.5" floppies, nice smoked plastic
with hinged top— $7.50 each
UD-#2 Six outlet 115V Surge Suppressor— ON-OFF SW, 6' cord, 15 amp reset ckt
breaker, ON-OFF led indicator— $19.95 each
UD-#3 Six outlet 115V Surge Suppressor as above, includes EMI/RFI/Noise/Surge
suppression— $27.95 each
UD-#4 White Labels (same as UPDATE Mailing label), 5000 labels on continuous
feed tractor form— $22.00
UD-4#5 Diskettes 5.5" hi quality DS/DD 40 track, includes sleeves and tabs—
$8.00 box of 10
UD-+6 = Diskettes 5.5" Dysan Premium DS/DD BO track 96 tpi. Use for all
Sinclair QL and TS-2068 60 track drives— $20.75 box of 10.
UD-#7 Printer Ribbon Cartridge for Star Micronics 1000 series. Box of six
cartridges— $39.75 (Single cart—$8.00).
UD-#8 Un-Priced: UPDATE will order ribbon cartridges in units of six
cartridges and ship to you with a invoice. Price depends upon size of _
cartridge and will be within plus or minus $5.00 of UD-4#7 above.
UD-#9 PAPER, 2500 sheets 20 lb white bond, tractor feed, laser perf for easy
tear off, standard letter size break down to 8.5X11"— $31.90 (Check locally,
you may be able to beat this)— US orders only.
THE FLEA MARKET
Subscribers may participate FREE to move surplus items. Limit is one 3 line
insertion per issue. Make the print Elite 12 characters per inch, line
lenght of 76 characters, including spaces. No fancy printing. Use the
following for examples of format. ba uy nek
UPDATE SURPLUS items: For TS-2068: One Zebra 05-64 Cartridge— $16.00. One
Tasman CPI— $16.00.
One A&J Micro Drive for the TS-2068 plus about 15 cartridges. Has printer
interface and is in working condition—$40.00
One AMDISK III twin 3 inch Disk Drives in case with power supply and cable to
fit all TS-2068 disk controllers. includes manual and 19 diskettes. Works
great, just plug it in— $99.00. Know what your are buying! This DD is
unsupported by software, but makes an ideal additional pair of drives. Data
cable has 2 extra connectors for hooking up to other drives.
ONE TS-2040 Printer (works A-OK)—$25.00. One Seikosha SP-1000 dot matrix
printer, works now but print head beginning to skip eome pins—$55.00.
70
UPDATE MAGAZT.NE OCTOBER 1988
OCTOBER 1988 UPDATE MAGAZINE
UPDATE FLEA MARKET, Continued
S-1000 items for projects: 5 TS-1000 ckt boards all chips AC— 7? ‘Iwo
Oliger Color VDP boards OK— ? Several EPROM Read Boards— 7? A few ULA
chips, Z-80 CPU's and Z-80 periphreal chips— ? ‘These parts will be given to
anyone who needs them for building interface projects for the TS-2068 or QL.
ONE TS-1500 like new—$35.00. ONE TS-1000 NEW—$30.00 (both have all
assessories).
For the hacker: a cornucodpia of electronics parts, diodes, transistors,
IC's, relays, etc, on surplus circuit boards. Boards weigh about 2 pounds
and must’ have over a hundred salvagable parts—$7.00 per board (cost nearly
that to ship).
UPDATE Magazine is a sister to GULF MICROELECTRONICS, which has a_ most
unusual stock of hard to find IC chips, analog devices, regulators, CPU's,
interface chips, power transformers, vacuum tubes, etc. If you are looking
for something and cannot find it, its worth a CALL.
One 1954 EDSEL—try $49000.00 or trade for new Mercades
One Missouri Mule 49 years old, mean and uncooperative, unusual personality,
can hear him bray from four miles away. Come and get him for free. Might
pay you something.
One island across from New York City. Indian tribe repossessing and
reselling. Inquire for confidential deal.
Prospector's map to lost gold mine in Nevada—$100.00
Tickets to last year's Super Bowl 50 yd line, reduced price.
Persons wanting FLEA MARKET items should CALL first to reserve the item
needed.
SOFTWARE AND HARDWARE SUPPORT FOR SINCLAIR COMPUTERS, (Comp) imentary listings)
woop anwp winp COMPUTTI NG
Bill Cable : RR 2 Box 92: Cornish, AH 03745 : 603 675 2218
SPECIALIZING IN SERIOUS SOFTWARE FOR THE SINCLAIR QL
i AMG ENTERPRISES | QL and TS-2068 SUPPORT: RMG Enterprises hes 8
} 1x9 172 71H STREET © OREGON CITY, UR 97045 1 full Tine of support for both computers. 1S-2068
1 saavess-7iy support includes al) disk drive systems, hardware and
For our big 58+ page cataloy software. QL support includes most periphreals and
sand $3,09—Refunded on Ist order many software items.
T$-2068 Hardware Support: Disk Drive System, memory cartridges, EPROT
programmer, Expansion ports, RGB Monitor Interface, Printer Interface: The
Qliger Company, 11601 Whidbey Drive, Qunberiand, IN 46229,
UPDATE MAGAZINE ae! OCTOBER 1988
OCTOBER 1988 ‘ UPDATE MAGAZINE
a
Millenia K Disk and SFOOS Software Support: Munson Cockayne, 542 Trotter
Court, Sanford, Fl. 32763.
75-2068 Disk Orive System and Ran Disk Cartridge: Larken Electronics,
AR-2, Navan, Ontario, Canada K4B 19.
15-2068 Software to PLOT and Faint Color Screens to rarer; John
McMichael, 1710 Palmer Drive, Laramie, WY 82070.
T$-2068 Software, also AERCO FD-68 Software: Chi-Chia Chao, 73 Sullivan
Orive, Morago, CA 94556-1209.
ape Software: Herb Bowers, 2588 wWoodshire Circle, Chesapeake, VA
Millenia K Disk and SPOOS Software Support: Cuyohoga Valley Software,
615 School Ave., Cuyohoga Falis, OH 44221,
75-2068 and QL Software: Paul Bingham, Box 2054, Mesa, AZ 85204.
TS-2068 Software, plus AERCO FD-68 software: Jack Doheny, 590
Rutherford Ave., Redwood City, CA 94061.
75-2068 Software: Lemke Software, 2144 White Qak, Wichita, KS 67207.
TS-2068 Support, and Magazine on’ tare: Byte Power, 1748 Meadowview
Ave,, Pickering, Qntario, Canada LIV 368.
Pree
yaweenvoneeneeceenanne
Dlanond Mike 11 and
Show! Two great programs for only #10.
Money Machine 11! The Ultiaate Word Gane
based on a popular TV game show. 641.
Vord Twister? Custoalze your own word-
anarch puszie, VYooabullder! Easy-to-use
sdvcational progras, Both for only $10.
Fi
only, Avallat
Disk File Manager! Copy individual files,
even on single drive system. Detailed
ontalog, and aany other functions. #19.
22-cent stamp
cheok/aoney order
73 Sullivan Drive, Ho
TS-2066 PROGRAHS .
can cenvenaucennan
Gane & Graphics
1
Pixel Print PLUS! |i
THE DESKTOP PUBL ISHEN
i] i: Lanka Softvare
What's the PLUS? H
Sp. PERFORRANCE| A |
gund inv
Checkeut these SF!
ee 4
Syring! |
on tape oF
Ke
Pixel Prin’
met]
a) wYSTTS
is
& PLUS ly).
YOR 178.
on & 1/4" disk of tape.
ead: 'Loap)
a) avToUATIC eng Hanval line and
Character adjussaents.
2) BEprOne EM taLid’ nell flere.
«Ey nar eg
aa Ata
6) COPY/ERASE/ INSERT/DELETE/UEH * | *
7) AERCO/TASHAII/ARS CPT
vert Omnicala (] to disk.
CA 94566-1209
UPDATE, MAGAZINE ie : OCTOBER 1988
@) IEU/EPSON/PROWAITER Frinvers
than att
nore functions
even nore
use Progran
Comeuter Repair: TS5-2068 and QL; Dan Elliott, RR-1 Box 117, Cabool, M0
TS-2068 and QL: Curry Computer, PO BOX 5607, Glendale, AZ 85312-5607,
TS-2068 Software: WJ Data Systems, 4 Butterfly Or., Hauppauge, NY 11788
@. Comeuter Rerair: Also QUANTA SOFTWARE LIBRARIAN, 9015 Flicker Place,
Columbia, "D 21045.
THE SINCLAIR 288 Camcuter: Known dealers and suppliers are: ike Fink,
555 W. 39th St., N.Y. City, 10018-1401. (212 695 1401), RNG Enterprises,
1419 1/2 7th St., Oregon City, OR G7045 (503 655 7484), SHARP'S INC., RR-10
Box 459, Mechanicsville, VA 23111 (804 746 1664).
See other ads and announcements in this issue. The above are Just part
of the supporters of QL, 75-2068, and 288 Computer systems. Others will be
amounced as LFDATE receives more information that srecifys support areas.
A caricature of the UPDATE News Room, relaxation between issues.
Actually, the above photo is a courtesy re-print from NATIONAL
GEOGRAPHIC MAGAZINE, but 1t closely resembles the neat efficiency
of the UPDATE editorial office and your editor relaxing between
issues. Across in the other corners of the office are equally
neat TS-2068 Lab, Ql Lab, and A IBM AT clone system. The center
of the office is taken up by a copy machine and a huge
wastebasket, neatly overflowing with discarded ideas.
7
UPDATE MAGAZINE OCTOBER 1988
THE UPDATE SOFTWARE LIBRARY
Separate libraries for the Sinclair QL and TS-2068
Most of the diskettes and inicro drive cartridges contain
softwares and utilities
the
quarterly
than one software plus all
quarterly issue.
given in the pages of UPDATE.
“unconditionally guaranteed to please”.
described or
issue of UPDATE Magazine.
of the
Some will also
Each disk or mdv cartridge is
listed in 38
Most will contain more
utilities given in the
contain other programs not
The price of each
named disk or mdv is $20.00 (postpaid).
The Sinclair QL Software Library
Both
presented will run on the
contain extensions for utilizing extra
Disk format is DS/DD 80 track 96 tpi.
functions.
Disk and Micro Drive are supported.
UNEXPANDED QL.
All softwares
But some may
memory and tool kit
Due to the
cost of mdv carts and availability, orders for a issue series
on mdv cartridge must be accompanied by a mdv
UPDATE then records the programs
UPDATE jis Just setting started with
two Issue Series are offered at this time.
Series are as follows:
OCTOBER 88 "Cable Issue"
The CABLE issue, on disk or mdv cart,
contains the FOUR softwares given by Bill
Cable in this current issue. Two of these
are softwares to enhance end extend the
Capabilities of the PSION ARCHIVE software.
"REFIELD", runs under ARCHIVE to allow you
to ADD, RESTRUCTURE, and DELETE fields of
the ARCHIVE DATA BASE.
"SCAN", an ARCHIVE program, lists three
selected fields ona line for each record,
and SUS the numeric content of the fields.
The output can be sent to the printer.
"HELPER", is a Superbasic program which
provides anew “TOOLKIT” set of functions.
These functions are; Directory with Copy,
DELETE a file or program, TOTAL COPY of a
MOV or Floppy, Multiple FORMATTING, Screen
Window Set-up, and Date-time setting.
“ARITHMETIC DRILL", in Superbasic, isa
sinele program to help learn programing and
let the kids use to drill in math.
The above FOUR programs, and their annexes,
cone on TWO mdv Carts or one Diskette. The
REFIELD program alone takes up a whole mdv
cart, and the other three take up all space
available in another mdv cart, So, no room
For the other October issue programs and
utilities,
$20.00.
UPDATE MAGAZINE 74
This is an outstanding value at ©
cartridge,
and returns the cartridge.
the QL Library and only
Individual Issue
OCTOBER 88 “Hartung Issue"
The HARTUNG issue, on disk or idv
cart, contains Bob- Hartung's
"OL
Address File" progran, plus all of the
utilities of the October iSsue which
could be stuffed into a mdv cartridge.
"Address File" is a simple, quick and
easy progran to use. Also, it can
serve as a Inventory data base. Its
printing ability makes loading up to
print labels a easy chore. Screen
listings and print out can be by
alphabetical or by last nan,
Individual names inay be searched out.
In his article, Bob gives full
instructions and even allows for
inodification to use the 40 colum TV
display. This is 9 good progran to
study for simple basic programning.
UTILITIES are added to fill up the
mdv cart. Sone of the utilities that
are given are not included in the
UPDATE magazine pages. (Just had to
quit at 76 pages!). The Hartung Issue
cones on either one MDV cartridge or
one Diskette.- same price $20.00.
OCTOBER 1988
OCTOBER 1988
UPDATE MAGAZINE
THE TS-2028 Disk Software Library
TS-2068 Disk Drive Systems supported
Disks are available for these
er 80 Track.
Larken LKDOS, and Aerco FD-68.
systems on 5.25 inch DS-DD 40
programs in disk will be for
identified in
utilities
to add value.
for more
the listings below.
are those published in UPDATE Magazine issues, but
some will be other programs not given in the issues,
Price is $20.00
than one disk may take 10% off
are, Oliger Safe,
Some individual
DOS and will be
of the programs and
specific
Most
included
per disk (postpaid). Orders
total price.
Individual issue series are listed as follows:
The October 88 "SMART TEXT" ISSUE
For Larken LKDOS, Oliger DOS, Aerco FD-68
Your scribe decided to donate the Smart
Text software to the UPDATE Library.
Since the Smart Text manual is 70 pages in
length, and the program listing is a
quarter of a mile long, it isn't practical
to give the documentation in the magazine.
Smart Text is the most extensive software
ever offered for the TS-2068. It is a
Multiple Data Base, and a Disk Integrator,
that has a Word processor. Also included
is MAIL MERGE. These four main systems
are integrated to provide many automatic
functions not present in other softwares.
For instance, a thousand letters of the
same or different text may be printed
NON-STOP. Or, one can just type and print
some data. Or, one may elect to print one
ora thousand labels from the mailing
list; a1 page or a 100 page document, an
outline, an inventory listing. Smart Text
uses disk as if a whole package of
diskettes are extensions of TS-2068 FREE
Memory. The Smart Text iseue comes on
either two 40 track diskettes or one 80
track disk and includes a 70 page manual.
$20.00 (postpaid) .
Earlier buyers of Smart Text may want
to combine an order for this Newest
version, which has column printing option,
alternate format for using pre-printed
letterhead stationary, elective for Dot
Matrix or Daisy Wheel printers, Full Edit
during input typing, mail file sorting,
and postscript option for letters.
Earlier buyers, add only $10.00 to another
disk order to receive this version.
UPDATE MAGAZINE 75!
The October 88 "HARTUNG" ISSUE"
This is for OLIGER DOS ONLY, and is a
collection of 10 "Disk Management"
programs presented in four issues of
UPDATE Magazine. Bob Hartung started with
aearly program given by John Oliger and
worked for a year expanding to provide a
most capable disk management systen.
Bob named these programs "The DOSDEK"
System. This October 88 UPDATE Magazine
issue documents the last of this
outstanding group of programs. Earlier
magazine issues documents the others.
This disk issue includes all of the DOSDEX
programs on a single disk that will let
you index and manage a complete Diskette
Library, or to re-organize the individual
diskettes, programs, or files, in any
manner that you choose. OR- Each of the
individual programs may be merged to
another program to give that program new
capability. This is an outstanding group
of programs! $20.00
The Apr/July 88 "MITCHEL DISK" Issue
For Oliger DOS, Larken LKDOS, and Aerco
FD-68. Two UPDATE issues were required to
present the listings and documentation of
Bob Mitchell's excellent HOUSEHOLD BUDGET
software, which is included in this issue
disk. Also included are all of the
utilities given in both the April and July
88 issues. These are; MS-TAS, a utility
that prints out either Mscript or Tasman
Data files "without need for the host word
processor", PEEK VARS utility, some
printer code initialization utilities, a
Disk Menu that can be converted, and
several modified public domain programs.
All of these programs and utilities maxes
out a 40 track disk. $20.00 (postpaid)
OCTOBER 1988
law uaa E
ee if}
The Oct 87/Jan 88 "UPDATE" Issue
For Oliger DOS, Larken LKDOS, and Aerco
FD-68. ‘The programs and utilities of the
two first UPDATE issues are consolodated
into one issue disk to give an outstanding
value. ‘The main Software is:
MAIL MERGE, a data base and printing -
software to create and print out mailing
lists, inventories, and other data files
that need arrangement in a format of from
one to 7 lines per field, Another data
base "Outline" allows "school and Church"
type outlines to be produced and printed
in indented format for “major topics, and
sub topics". Two sorting routines allow
sorting by 'first or last' name of the
mailing list. ‘Then other nicities, such
as “letter heads" may be printed. The
print products are: Complete print out of
the mailing list, print out of selected
fields, print to labels of the entire list
or individual fields. All printing may be
to your elected TAB position. and
formatted to your elected number of lines
between fields. Automatic page control is
optional so that the printing can be
either continuous or under page control.
Two annexes of the Mail Merge program
are included:
"Purity", a program that takes a mailing
list produced by Mail Merge or Smart Text,
and purifies the listing by eliminating
duplicate names and skips in the listing.
PURITY also allows you to break down the
larger Listing into smaller groups of mail
files that may be processed by the Smart
Text software for continuous printing of
automatic personalizes form letters.
“LIST LOOKER", is a program that
supplements both Mail Merge and Smart
Text. LIST LOOKER loads a Mail File,
tells you the Dimension of the Character
array, lets you screen print the listing,
or print the listing to paper. Print out
is to your elected format. Also, Label
Printing is an option.
ALL THREE of the above programs work
automatically in the disk drive
environment and supplement each other.
EXTRA MEMORY UTILITIES: This disk
contains four utilities given in the
January 88 issue to use with DOCK RAM.
These utilities reconfigure the Home Bank
of memory, MOVES a Basic program from DISK
UPDATE MAGAZINE
76
into DOCK BANK RAM, then moves another
program from disk into HOME BANK, in order
to allow the joint operation of prograns
in both Home and Dock banks.
STILL MORE! Included are 20 sound and
visual utilities to plaggerize and use in
your own programs. Dont worry, UPDAIE
gives these 20 utilities to you for that
2.
“J-UTILITIES", a group of useful
utilities by UPDATE, crunches numbers and
disassembles memory. One of these
actually uses mixed inputs of Binary, Hex,
and Decimal to multiply, divide, add, and
subtract, and gives the answers in all
three number bases. (dont believe this one
has ever been done before).
This great group of software and
utilities offered for $20.00? Gotta be
kidding, but they are! And, you wont find
them anywhere else. They're exclusive.
About The Issue Disk Program
The UPDATE Software Library will
continue to build as more issues of the
magazine are published and more
programmers participate. Half of the
proceeds of issue sales go to the
authors of these fine programs. The
other half is absconded by UPDATE
‘Magazine to pay for the disks, mailing
expenses, and the upkeep of the
corporation's 300' luxury yacht which
plys the seas between Monaco, Aruba,
and Nassau on official business. So
far we have had nothing but praise and
satisfaction expressed by the
purchasers of the issue disks, so with
some trepidation, and a _ touch of
boldness, we added the comment,
“Unconditionally Guaranteed to Please”
to the sales pitch for the Issue Disks.
Update really wants the issue disk
program to be successful because it
provides our programmers at least SOME
compensation for their work (besides
their personal satisfaction).
OCTOBER 1988
We
ne Se
or SINCLAIR COMPUTERS
ADVERTISING RATE SCHEDULE
effective until July 1989
UPDATE MAGAZINE is published quarterly each January,
April, July, and October in support of the users and
suppliers of the SINCLAIR QL, SINCLAIR 288, AND
SINCLAIR-TIMEX TS~2068.
The following Ad sizes are based upon a page size of 8
1/2 inches by 11 inches. Ads are black and white only.
Reduction and enlarging capability exists for ads that are
off size. Camera ready copy should arrive at least 15 days
before publishing date.
DISPLAY ADVERTISEMENT RATE SCHEDULE
AD SIZE PRICE
2 pages $220.00
1 page 120.00
2/3 page 90.00 (vertical or horozontal)
1/2 page 65.00 (vertical or horozontal)
1/4 page 35.00 (vertical or horozontal)
1/8 page 20.00 (vertical or horozontal)
Special placement of full page or double page ads, add
10% and call for reservation (inside front cover, first page,
inside back cover, back cover).
Line ads: 78 characters per line across page, 1 line
mins ium, $6.00 per line. Will be type set to Elite 12 Chrs
per line.
Your existing Ad .copy for other publications is fine.
Just send copy with instructions for sizing (up, down, or
same). Enhancement of legibility is usually possible. Draft
quality dot matrix print is not so good.
TERMS: Check Payment with order 10% discount, or
billing on publication date. (no credit cards).
Send Ad copy to: UPDATE MAGAZINE, 1317 Stratford Ave.,
Panama City, FL 32404. Tel 904 871 3556 or 904 9871 4513
77
OCTOBER 1988
lL FDoD-GS& i
WE NEED YOUR HELP!
We’re trying to find out if you, the
AERCO FD-68 users of the world, would
be interested in the following item:
As we see it, it would be a definitive
guide to the AERCO DOS AERCO never
gave you. It would include many
examples of how to implement the
commands, eg.:SAVE, LOAD and MERGE.
It would show how to SAVE arrays/data
and how to use the extra 64K of RAM
that AERCO forgot to explain to you!
There would be a complete appendix and
all items would be cross- referenced.
We also anticipate including a section
on the AERCO/ LKDOS cartridge and its
operating system and commands.
1 What wi EED t ow ist '
{41> WOULD THIS BE OF INTEREST TO YOU?!
{2> WHAT WOULD IT BE WORTH TO YOU? '
13> WOULD YOU PAY $14.95 FOR IT?
PLEASE-If you would like to see suoh
a volume put together, let us know!
Drop a line or call for more into. If
enough interest is shown, IT WI B
DONE! The writer is a VERY well~
known writer of software and TS
articles. You won't be disappointed!
RNG ENTERPRISES
1419 1/2 7TH STREET
GON CITY, OR 97045 (50.
NOTICE TO AERCO FD-68 USERS!!!
Rod Gowen, RMG Enterprises is breaking a leg
trying to support FD-68 users with excellent
software and utilities. NOW Rod is trying to
decide whether there is sufficient interest in
having a detailed manual for the FD-68. He
MUST have your interest expressed before
spending the money to produce this manual that
all FD-68 users need.
78
UPDATE MAGAZINE
UPDATE MAGAZINE
FD-68 WRITER SUPPORT IS
NEEDED
UPDATE Magazine ALSO has
been beating the bushes
TRYING to develop writer
support for the FD-68
users, with only small
success. We NEED writer
support and ask that those
users who are doing such
things as MODEM DOWN LOAD
of CPM programs, and other
FD-68 use, CHIP IN your
knowledge for the good of
all. Aerco FD-68 users
need more interchange of
information. This page in
UPDATE is devoted to
stirring up such an
interchange of programming
tips, DOS extensions,
CPM/RPM, use of FD-68
extra memory, supporting
utilities, etc.
There are many TS-2068
users who spent a lot of
money for the Aerco FD-68
Disk system. We once had
a excellent newsletter
being published in support
FD-68 users. Somehow, the
source of information
dried up. But, there are
several expert programmers
still doing work with the
FD-68. All need = your
information published in
UPDATE, Time Designs, and
Syncware news. Lets all
cooperate to re-establish
interest in the FD-68 disk
systen.
The first step is to
notify Rod Gowen that you
DO want a good manual
published. Rod's effort
to bring this manual isn't
profit motovated, but is
for the good interests of
the user group. (ed).
OCTOBER 1988
OCLOBER 1988 UPDATE MAGAZINE
ADDITION ‘LO ‘I'S-2068 MAIL MERGE (October 1987 UPDATE, OCI'87 Issue Disk):
The following annex to Mail Merge was added to print out the categories of
this INDEX after the Mail Merge program had Sorted the subjects by title. <GO
‘tO 6000? prints the individual columns.
6000>INPUT "Nbr of Items ";xl: INPUT "INPUL First TAB ";tb:
INPUT "2nd Tab ";tb2
6002 FOR n=] TO xl: LET m$=o0$(n,1): LET y$=o$(n,2)
6004 IF m$(LEN m$)="_" THEN LET m$=m$( TO LEN m$-1): GO TO 6
004
6006 IF y$(LEN y$)="_"" THEN LET y$=y$( TO LEN y$-1): GO TO 6
006
6008 LPRINE TAB th;m$;TAB tb2;y$
6010 NEXT n: STOP
TIP: For all computers that use DIMENSIONED CHARACTER ARRAYS. Is there
one that doesn't? The above routine will be explained. The DATA FILE is
O$(a,b,@), a three dimensional array. "a" is the number of names in a mailing
list. "b" is the number of information lines. "c"™ is the number of
characters reserved for the lines. ‘In the case of the INDEX on the opposite
page, we use the first two "b" lines. The first line is the topic and the
second line is the page number. We combine these two lines into one for
printing. I£ direct print o£ the combined lines is done, the “empty spaces in
the dimensioned line" would not allow flexible printing to TAB. GO TO 6000
executes the routine.
Line 6000 assigns var xl to the number of titles to print, The n counter
is used to count to xl. The data in line 1 is assigned to M$, and the data in
line 2 is assigned to Y$. Line 6004. uses "recursive" programming to trim all
empty spaces from line 1. Line 6006 does the same for line 2. In both
instances, the line loops itself until the IF THEN condition is false, then
drops to the next line. Each loop trims one empty space from the data line.
Then Line 6008 prints the two data lines on one paper line at tab. Line 6008
is adjustable, and could print the data to whatever two TAB positions desired.
Line 6010 <NEXT n> gets the next two lines to process. Approximately one-half
second is consuied while processing each two line group.
= a TRUMP TIP
Yel
rae
iit Kinda hard to read that inset, eh? The manual for the Trump Card is
kinda like that. I've got it £iggered that Miracle bunch has a printing
office in Scotland, and you know how thrifty the Scots are, eh? Wot? Anyhow,
the ‘Trump manual is just too teenie weenie to read and kompersend. BUT.
ther's lotsa good puddin in the pages that we need to read. In fact iff'n we
dont be a readin it we wont be a larn'ng it atall. The answer is to truck it
down to a copy shop and blow it up exactly 4 times, so's the pages comes out 8
1/2 X 11 inches. That'll cost ya bout $5.00 that the Scots saved, and then
you can be a learning all about the Trump stuff that you wont unless you do
that.
PAY AITENTION! ‘The above was throwed in to £ill space!
which was an afterthought. UPDATE ISN'T CASUAL READING. What we try to do is
to give you a THREE MONIH project so that when you are about though with one
issue the next one hits your mail box. Sometoimes we mix in bit of Cajun and
Nawrth Flurda Cracker talk when we don no no nuther ways ah tellin at it.
UPDATE MAGAZINE 7 OCTOBER 1988
9
Sharp’s, Inc.
Rt. 10, Box 459
Mechanicsville, VA 23111
(804) 746-1664 or 730-9697
QL Computer
95
S 1 4 9 e includes PSION s/w
We carry ALL hardware and software lines for the Sinclair QL. Compare our
prices. VISA and MASTERCARD accepted (3 % surcharge)
WRITE FOR FREE CATALOG